 
 
//*********************************************************************
//*                  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

cpp_quote("#include <winapifamily.h>")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")

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

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

cpp_quote("#include <dxgitype.h>")

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_IEXMLDocument;")
cpp_quote("EXTERN_C const GUID CLSID_SVGDocument;")
cpp_quote("EXTERN_C const GUID CLSID_XHTMLDocument;")
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("#define SID_STrackingProtection IID_ITrackingProtection")

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")

cpp_quote("")
cpp_quote("// Mask for which notifications a callback listener wants to receive")
cpp_quote("// (For use in IDebugCallbackNotificationHandler::RequestedCallbackTypes")
cpp_quote("")
cpp_quote("// Receive callbacks on window.setTimeout firing")
cpp_quote("#define DEBUGCALLBACKNOTIFICATION_TIMEOUT                                0x00000001")
cpp_quote("// Receive callbacks on window.setInterval firing")
cpp_quote("#define DEBUGCALLBACKNOTIFICATION_INTERVAL                               0x00000002")
cpp_quote("// Receive callbacks from (ms)SetImmediate firing")
cpp_quote("#define DEBUGCALLBACKNOTIFICATION_IMMEDIATE                              0x00000004")
cpp_quote("// Receive callbacks from (ms)RequestAnimationFrame firing")
cpp_quote("#define DEBUGCALLBACKNOTIFICATION_ANIMATIONFRAME                         0x00000008")
cpp_quote("// Receive callbacks from DOM events firing and their listeners being invoked")
cpp_quote("#define DEBUGCALLBACKNOTIFICATION_DOMEVENT                               0x00000010")
cpp_quote("")
cpp_quote("// Bitfield indicating the details of an event dispatch completing in IDebugCallbackNotificationHandler")
cpp_quote("#define DEBUGDOMEVENTPROPAGATIONSTATUS_DEFAULTCANCELED                   0x00000001")
cpp_quote("#define DEBUGDOMEVENTPROPAGATIONSTATUS_STOPIMMEDIATEPROPAGATION          0x00000002")
cpp_quote("#define DEBUGDOMEVENTPROPAGATIONSTATUS_STOPPROPAGATION                   0x00000004")

[
    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>

    import "dxgitype.idl";

    // 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;

interface IDOMEvent;
[
    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 _styleMsOverflowStyle
{
    styleMsOverflowStyleNotSet = 0,
    styleMsOverflowStyleAuto = 1,
    styleMsOverflowStyleNone = 2,
    styleMsOverflowStyleScrollbar = 3,
    styleMsOverflowStyleMsAutoHidingScrollbar = 4,
    styleMsOverflowStyle_Max = 2147483647L
} styleMsOverflowStyle;

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 _styleBackgroundAttachment3
{
    styleBackgroundAttachment3Fixed = 0,
    styleBackgroundAttachment3Scroll = 1,
    styleBackgroundAttachment3Local = 2,
    styleBackgroundAttachment3NotSet = 3,
    styleBackgroundAttachment3_Max = 2147483647L
} styleBackgroundAttachment3;

typedef enum _styleBackgroundClip
{
    styleBackgroundClipBorderBox = 0,
    styleBackgroundClipPaddingBox = 1,
    styleBackgroundClipContentBox = 2,
    styleBackgroundClipNotSet = 3,
    styleBackgroundClip_Max = 2147483647L
} styleBackgroundClip;

typedef enum _styleBackgroundOrigin
{
    styleBackgroundOriginBorderBox = 0,
    styleBackgroundOriginPaddingBox = 1,
    styleBackgroundOriginContentBox = 2,
    styleBackgroundOriginNotSet = 3,
    styleBackgroundOrigin_Max = 2147483647L
} styleBackgroundOrigin;

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 _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,
    stylePositionMsPage = 5,
    stylePositionMsDeviceFixed = 6,
    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 _styleOutlineStyle
{
    styleOutlineStyleNotSet = 0,
    styleOutlineStyleDotted = 1,
    styleOutlineStyleDashed = 2,
    styleOutlineStyleSolid = 3,
    styleOutlineStyleDouble = 4,
    styleOutlineStyleGroove = 5,
    styleOutlineStyleRidge = 6,
    styleOutlineStyleInset = 7,
    styleOutlineStyleOutset = 8,
    styleOutlineStyleWindowInset = 9,
    styleOutlineStyleNone = 10,
    styleOutlineStyle_Max = 2147483647L
} styleOutlineStyle;

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,
    styleDisplayMsFlexbox = 22,
    styleDisplayMsInlineFlexbox = 23,
    styleDisplayMsGrid = 24,
    styleDisplayMsInlineGrid = 25,
    styleDisplayFlex = 26,
    styleDisplayInlineFlex = 27,
    styleDisplayWebkitBox = 28,
    styleDisplayWebkitInlineBox = 29,
    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,
    styleCursorNone = 24,
    styleCursorContext_menu = 25,
    styleCursorEw_resize = 26,
    styleCursorNs_resize = 27,
    styleCursorNesw_resize = 28,
    styleCursorNwse_resize = 29,
    styleCursorCell = 30,
    styleCursorCopy = 31,
    styleCursorAlias = 32,
    styleCursorcustom = 33,
    styleCursorNotSet = 34,
    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,
    styleWritingModeLr = 9,
    styleWritingModeRl = 10,
    styleWritingModeTb = 11,
    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;

typedef enum _styleFlex
{
    styleFlexNone = 0,
    styleFlexNotSet = 1,
    styleFlex_Max = 2147483647L
} styleFlex;

typedef enum _styleFlexBasis
{
    styleFlexBasisAuto = 0,
    styleFlexBasisNotSet = 1,
    styleFlexBasis_Max = 2147483647L
} styleFlexBasis;

typedef enum _styleFlexDirection
{
    styleFlexDirectionRow = 0,
    styleFlexDirectionRowReverse = 1,
    styleFlexDirectionColumn = 2,
    styleFlexDirectionColumnReverse = 3,
    styleFlexDirectionNotSet = 4,
    styleFlexDirection_Max = 2147483647L
} styleFlexDirection;

typedef enum _styleWebkitBoxOrient
{
    styleWebkitBoxOrientHorizontal = 0,
    styleWebkitBoxOrientInlineAxis = 1,
    styleWebkitBoxOrientVertical = 2,
    styleWebkitBoxOrientBlockAxis = 3,
    styleWebkitBoxOrientNotSet = 4,
    styleWebkitBoxOrient_Max = 2147483647L
} styleWebkitBoxOrient;

typedef enum _styleWebkitBoxDirection
{
    styleWebkitBoxDirectionNormal = 0,
    styleWebkitBoxDirectionReverse = 1,
    styleWebkitBoxDirectionNotSet = 2,
    styleWebkitBoxDirection_Max = 2147483647L
} styleWebkitBoxDirection;

typedef enum _styleFlexWrap
{
    styleFlexWrapNowrap = 0,
    styleFlexWrapWrap = 1,
    styleFlexWrapWrapReverse = 2,
    styleFlexWrapNotSet = 3,
    styleFlexWrap_Max = 2147483647L
} styleFlexWrap;

typedef enum _styleAlignItems
{
    styleAlignItemsFlexStart = 0,
    styleAlignItemsFlexEnd = 1,
    styleAlignItemsCenter = 2,
    styleAlignItemsBaseline = 3,
    styleAlignItemsStretch = 4,
    styleAlignItemsNotSet = 5,
    styleAlignItems_Max = 2147483647L
} styleAlignItems;

typedef enum _styleMsFlexAlign
{
    styleMsFlexAlignStart = 0,
    styleMsFlexAlignEnd = 1,
    styleMsFlexAlignCenter = 2,
    styleMsFlexAlignBaseline = 3,
    styleMsFlexAlignStretch = 4,
    styleMsFlexAlignNotSet = 5,
    styleMsFlexAlign_Max = 2147483647L
} styleMsFlexAlign;

typedef enum _styleMsFlexItemAlign
{
    styleMsFlexItemAlignStart = 0,
    styleMsFlexItemAlignEnd = 1,
    styleMsFlexItemAlignCenter = 2,
    styleMsFlexItemAlignBaseline = 3,
    styleMsFlexItemAlignStretch = 4,
    styleMsFlexItemAlignAuto = 5,
    styleMsFlexItemAlignNotSet = 6,
    styleMsFlexItemAlign_Max = 2147483647L
} styleMsFlexItemAlign;

typedef enum _styleAlignSelf
{
    styleAlignSelfFlexStart = 0,
    styleAlignSelfFlexEnd = 1,
    styleAlignSelfCenter = 2,
    styleAlignSelfBaseline = 3,
    styleAlignSelfStretch = 4,
    styleAlignSelfAuto = 5,
    styleAlignSelfNotSet = 6,
    styleAlignSelf_Max = 2147483647L
} styleAlignSelf;

typedef enum _styleJustifyContent
{
    styleJustifyContentFlexStart = 0,
    styleJustifyContentFlexEnd = 1,
    styleJustifyContentCenter = 2,
    styleJustifyContentSpaceBetween = 3,
    styleJustifyContentSpaceAround = 4,
    styleJustifyContentNotSet = 5,
    styleJustifyContent_Max = 2147483647L
} styleJustifyContent;

typedef enum _styleMsFlexPack
{
    styleMsFlexPackStart = 0,
    styleMsFlexPackEnd = 1,
    styleMsFlexPackCenter = 2,
    styleMsFlexPackJustify = 3,
    styleMsFlexPackDistribute = 4,
    styleMsFlexPackNotSet = 5,
    styleMsFlexPack_Max = 2147483647L
} styleMsFlexPack;

typedef enum _styleWebkitBoxPack
{
    styleWebkitBoxPackStart = 0,
    styleWebkitBoxPackEnd = 1,
    styleWebkitBoxPackCenter = 2,
    styleWebkitBoxPackJustify = 3,
    styleWebkitBoxPackNotSet = 5,
    styleWebkitBoxPack_Max = 2147483647L
} styleWebkitBoxPack;

typedef enum _styleMsFlexLinePack
{
    styleMsFlexLinePackStart = 0,
    styleMsFlexLinePackEnd = 1,
    styleMsFlexLinePackCenter = 2,
    styleMsFlexLinePackJustify = 3,
    styleMsFlexLinePackDistribute = 4,
    styleMsFlexLinePackStretch = 5,
    styleMsFlexLinePackNotSet = 6,
    styleMsFlexLinePack_Max = 2147483647L
} styleMsFlexLinePack;

typedef enum _styleAlignContent
{
    styleAlignContentFlexStart = 0,
    styleAlignContentFlexEnd = 1,
    styleAlignContentCenter = 2,
    styleAlignContentSpaceBetween = 3,
    styleAlignContentSpaceAround = 4,
    styleAlignContentStretch = 5,
    styleAlignContentNotSet = 6,
    styleAlignContent_Max = 2147483647L
} styleAlignContent;

typedef enum _styleColumnFill
{
    styleColumnFillAuto = 0,
    styleColumnFillBalance = 1,
    styleColumnFillNotSet = 2,
    styleColumnFill_Max = 2147483647L
} styleColumnFill;

typedef enum _styleColumnSpan
{
    styleColumnSpanNone = 0,
    styleColumnSpanAll = 1,
    styleColumnSpanOne = 2,
    styleColumnSpanNotSet = 3,
    styleColumnSpan_Max = 2147483647L
} styleColumnSpan;

typedef enum _styleBreak
{
    styleBreakNotSet = 0,
    styleBreakAuto = 1,
    styleBreakAlways = 2,
    styleBreakAvoid = 3,
    styleBreakLeft = 4,
    styleBreakRight = 5,
    styleBreakPage = 6,
    styleBreakColumn = 7,
    styleBreakAvoidPage = 8,
    styleBreakAvoidColumn = 9,
    styleBreak_Max = 2147483647L
} styleBreak;

typedef enum _styleBreakInside
{
    styleBreakInsideNotSet = 0,
    styleBreakInsideAuto = 1,
    styleBreakInsideAvoid = 2,
    styleBreakInsideAvoidPage = 3,
    styleBreakInsideAvoidColumn = 4,
    styleBreakInside_Max = 2147483647L
} styleBreakInside;

typedef enum _styleMsScrollChaining
{
    styleMsScrollChainingNotSet = 0,
    styleMsScrollChainingNone = 1,
    styleMsScrollChainingChained = 2,
    styleMsScrollChaining_Max = 2147483647L
} styleMsScrollChaining;

typedef enum _styleMsContentZooming
{
    styleMsContentZoomingNotSet = 0,
    styleMsContentZoomingNone = 1,
    styleMsContentZoomingZoom = 2,
    styleMsContentZooming_Max = 2147483647L
} styleMsContentZooming;

typedef enum _styleMsContentZoomSnapType
{
    styleMsContentZoomSnapTypeNotSet = 0,
    styleMsContentZoomSnapTypeNone = 1,
    styleMsContentZoomSnapTypeMandatory = 2,
    styleMsContentZoomSnapTypeProximity = 3,
    styleMsContentZoomSnapType_Max = 2147483647L
} styleMsContentZoomSnapType;

typedef enum _styleMsScrollRails
{
    styleMsScrollRailsNotSet = 0,
    styleMsScrollRailsNone = 1,
    styleMsScrollRailsRailed = 2,
    styleMsScrollRails_Max = 2147483647L
} styleMsScrollRails;

typedef enum _styleMsContentZoomChaining
{
    styleMsContentZoomChainingNotSet = 0,
    styleMsContentZoomChainingNone = 1,
    styleMsContentZoomChainingChained = 2,
    styleMsContentZoomChaining_Max = 2147483647L
} styleMsContentZoomChaining;

typedef enum _styleMsScrollSnapType
{
    styleMsScrollSnapTypeNotSet = 0,
    styleMsScrollSnapTypeNone = 1,
    styleMsScrollSnapTypeMandatory = 2,
    styleMsScrollSnapTypeProximity = 3,
    styleMsScrollSnapType_Max = 2147483647L
} styleMsScrollSnapType;

typedef enum _styleGridColumn
{
    styleGridColumnNotSet = 0,
    styleGridColumn_Max = 2147483647L
} styleGridColumn;

typedef enum _styleGridColumnAlign
{
    styleGridColumnAlignCenter = 0,
    styleGridColumnAlignEnd = 1,
    styleGridColumnAlignStart = 2,
    styleGridColumnAlignStretch = 3,
    styleGridColumnAlignNotSet = 4,
    styleGridColumnAlign_Max = 2147483647L
} styleGridColumnAlign;

typedef enum _styleGridColumnSpan
{
    styleGridColumnSpanNotSet = 0,
    styleGridColumnSpan_Max = 2147483647L
} styleGridColumnSpan;

typedef enum _styleGridRow
{
    styleGridRowNotSet = 0,
    styleGridRow_Max = 2147483647L
} styleGridRow;

typedef enum _styleGridRowAlign
{
    styleGridRowAlignCenter = 0,
    styleGridRowAlignEnd = 1,
    styleGridRowAlignStart = 2,
    styleGridRowAlignStretch = 3,
    styleGridRowAlignNotSet = 4,
    styleGridRowAlign_Max = 2147483647L
} styleGridRowAlign;

typedef enum _styleGridRowSpan
{
    styleGridRowSpanNotSet = 0,
    styleGridRowSpan_Max = 2147483647L
} styleGridRowSpan;

typedef enum _styleWrapThrough
{
    styleWrapThroughNotSet = 0,
    styleWrapThroughWrap = 1,
    styleWrapThroughNone = 2,
    styleWrapThrough_Max = 2147483647L
} styleWrapThrough;

typedef enum _styleWrapFlow
{
    styleWrapFlowNotSet = 0,
    styleWrapFlowAuto = 1,
    styleWrapFlowBoth = 2,
    styleWrapFlowStart = 3,
    styleWrapFlowEnd = 4,
    styleWrapFlowClear = 5,
    styleWrapFlowMinimum = 6,
    styleWrapFlowMaximum = 7,
    styleWrapFlow_Max = 2147483647L
} styleWrapFlow;

typedef enum _styleAlignmentBaseline
{
    styleAlignmentBaselineNotSet = 0,
    styleAlignmentBaselineAfterEdge = 1,
    styleAlignmentBaselineAlphabetic = 2,
    styleAlignmentBaselineAuto = 3,
    styleAlignmentBaselineBaseline = 4,
    styleAlignmentBaselineBeforeEdge = 5,
    styleAlignmentBaselineCentral = 6,
    styleAlignmentBaselineHanging = 7,
    styleAlignmentBaselineMathematical = 8,
    styleAlignmentBaselineMiddle = 9,
    styleAlignmentBaselineTextAfterEdge = 10,
    styleAlignmentBaselineTextBeforeEdge = 11,
    styleAlignmentBaselineIdeographic = 12,
    styleAlignmentBaseline_Max = 2147483647L
} styleAlignmentBaseline;

typedef enum _styleBaselineShift
{
    styleBaselineShiftBaseline = 0,
    styleBaselineShiftSub = 1,
    styleBaselineShiftSuper = 2,
    styleBaselineShift_Max = 2147483647L
} styleBaselineShift;

typedef enum _styleClipRule
{
    styleClipRuleNotSet = 0,
    styleClipRuleNonZero = 1,
    styleClipRuleEvenOdd = 2,
    styleClipRule_Max = 2147483647L
} styleClipRule;

typedef enum _styleDominantBaseline
{
    styleDominantBaselineNotSet = 0,
    styleDominantBaselineAlphabetic = 1,
    styleDominantBaselineAuto = 2,
    styleDominantBaselineCentral = 3,
    styleDominantBaselineHanging = 4,
    styleDominantBaselineIdeographic = 5,
    styleDominantBaselineMathematical = 6,
    styleDominantBaselineMiddle = 7,
    styleDominantBaselineNoChange = 8,
    styleDominantBaselineResetSize = 9,
    styleDominantBaselineTextAfterEdge = 10,
    styleDominantBaselineTextBeforeEdge = 11,
    styleDominantBaselineUseScript = 12,
    styleDominantBaseline_Max = 2147483647L
} styleDominantBaseline;

typedef enum _styleFillRule
{
    styleFillRuleNotSet = 0,
    styleFillRuleNonZero = 1,
    styleFillRuleEvenOdd = 2,
    styleFillRule_Max = 2147483647L
} styleFillRule;

typedef enum _styleFontStretch
{
    styleFontStretchNotSet = 0,
    styleFontStretchWider = 1,
    styleFontStretchNarrower = 2,
    styleFontStretchUltraCondensed = 3,
    styleFontStretchExtraCondensed = 4,
    styleFontStretchCondensed = 5,
    styleFontStretchSemiCondensed = 6,
    styleFontStretchNormal = 7,
    styleFontStretchSemiExpanded = 8,
    styleFontStretchExpanded = 9,
    styleFontStretchExtraExpanded = 10,
    styleFontStretchUltraExpanded = 11,
    styleFontStretch_Max = 2147483647L
} styleFontStretch;

typedef enum _stylePointerEvents
{
    stylePointerEventsNotSet = 0,
    stylePointerEventsVisiblePainted = 1,
    stylePointerEventsVisibleFill = 2,
    stylePointerEventsVisibleStroke = 3,
    stylePointerEventsVisible = 4,
    stylePointerEventsPainted = 5,
    stylePointerEventsFill = 6,
    stylePointerEventsStroke = 7,
    stylePointerEventsAll = 8,
    stylePointerEventsNone = 9,
    stylePointerEventsInitial = 10,
    stylePointerEventsAuto = 11,
    stylePointerEvents_Max = 2147483647L
} stylePointerEvents;

typedef enum _styleEnableBackground
{
    styleEnableBackgroundNotSet = 0,
    styleEnableBackgroundAccumulate = 1,
    styleEnableBackgroundNew = 2,
    styleEnableBackgroundInherit = 3,
    styleEnableBackground_Max = 2147483647L
} styleEnableBackground;

typedef enum _styleStrokeLinecap
{
    styleStrokeLinecapNotSet = 0,
    styleStrokeLinecapButt = 1,
    styleStrokeLinecapRound = 2,
    styleStrokeLinecapSquare = 3,
    styleStrokeLinecap_Max = 2147483647L
} styleStrokeLinecap;

typedef enum _styleStrokeLinejoin
{
    styleStrokeLinejoinNotSet = 0,
    styleStrokeLinejoinMiter = 1,
    styleStrokeLinejoinRound = 2,
    styleStrokeLinejoinBevel = 3,
    styleStrokeLinejoin_Max = 2147483647L
} styleStrokeLinejoin;

typedef enum _styleTextAnchor
{
    styleTextAnchorNotSet = 0,
    styleTextAnchorStart = 1,
    styleTextAnchorMiddle = 2,
    styleTextAnchorEnd = 3,
    styleTextAnchor_Max = 2147483647L
} styleTextAnchor;

typedef enum _styleAttrType
{
    styleAttrTypeString = 0,
    styleAttrTypeColor = 1,
    styleAttrTypeUrl = 2,
    styleAttrTypeInteger = 3,
    styleAttrTypeNumber = 4,
    styleAttrTypeLength = 5,
    styleAttrTypePx = 6,
    styleAttrTypeEm = 7,
    styleAttrTypeEx = 8,
    styleAttrTypeIn = 9,
    styleAttrTypeCm = 10,
    styleAttrTypeMm = 11,
    styleAttrTypePt = 12,
    styleAttrTypePc = 13,
    styleAttrTypeRem = 14,
    styleAttrTypeCh = 15,
    styleAttrTypeVh = 16,
    styleAttrTypeVw = 17,
    styleAttrTypeVmin = 18,
    styleAttrTypePercentage = 19,
    styleAttrTypeAngle = 20,
    styleAttrTypeDeg = 21,
    styleAttrTypeRad = 22,
    styleAttrTypeGrad = 23,
    styleAttrTypeTime = 24,
    styleAttrTypeS = 25,
    styleAttrTypeMs = 26,
    styleAttrType_Max = 2147483647L
} styleAttrType;

typedef enum _styleInitialColor
{
    styleInitialColorNoInitial = 0,
    styleInitialColorColorProperty = 1,
    styleInitialColorTransparent = 2,
    styleInitialColorInvert = 3,
    styleInitialColor_Max = 2147483647L
} styleInitialColor;

typedef enum _styleInitialString
{
    styleInitialStringNoInitial = 0,
    styleInitialStringNone = 1,
    styleInitialStringAuto = 2,
    styleInitialStringNormal = 3,
    styleInitialString_Max = 2147483647L
} styleInitialString;

typedef enum _styleTransformOriginX
{
    styleTransformOriginXNotSet = 0,
    styleTransformOriginXLeft = 1,
    styleTransformOriginXCenter = 2,
    styleTransformOriginXRight = 3,
    styleTransformOriginX_Max = 2147483647L
} styleTransformOriginX;

typedef enum _styleTransformOriginY
{
    styleTransformOriginYNotSet = 0,
    styleTransformOriginYTop = 1,
    styleTransformOriginYCenter = 2,
    styleTransformOriginYBottom = 3,
    styleTransformOriginY_Max = 2147483647L
} styleTransformOriginY;

typedef enum _stylePerspectiveOriginX
{
    stylePerspectiveOriginXNotSet = 0,
    stylePerspectiveOriginXLeft = 1,
    stylePerspectiveOriginXCenter = 2,
    stylePerspectiveOriginXRight = 3,
    stylePerspectiveOriginX_Max = 2147483647L
} stylePerspectiveOriginX;

typedef enum _stylePerspectiveOriginY
{
    stylePerspectiveOriginYNotSet = 0,
    stylePerspectiveOriginYTop = 1,
    stylePerspectiveOriginYCenter = 2,
    stylePerspectiveOriginYBottom = 3,
    stylePerspectiveOriginY_Max = 2147483647L
} stylePerspectiveOriginY;

typedef enum _styleTransformStyle
{
    styleTransformStyleFlat = 0,
    styleTransformStylePreserve3D = 1,
    styleTransformStyleNotSet = 2,
    styleTransformStyle_Max = 2147483647L
} styleTransformStyle;

typedef enum _styleBackfaceVisibility
{
    styleBackfaceVisibilityVisible = 0,
    styleBackfaceVisibilityHidden = 1,
    styleBackfaceVisibilityNotSet = 2,
    styleBackfaceVisibility_Max = 2147483647L
} styleBackfaceVisibility;

typedef enum _styleTextSizeAdjust
{
    styleTextSizeAdjustNone = 0,
    styleTextSizeAdjustAuto = 1,
    styleTextSizeAdjust_Max = 2147483647L
} styleTextSizeAdjust;

typedef enum _styleColorInterpolationFilters
{
    styleColorInterpolationFiltersAuto = 0,
    styleColorInterpolationFiltersSRgb = 1,
    styleColorInterpolationFiltersLinearRgb = 2,
    styleColorInterpolationFiltersNotSet = 3,
    styleColorInterpolationFilters_Max = 2147483647L
} styleColorInterpolationFilters;

typedef enum _styleHyphens
{
    styleHyphensNone = 0,
    styleHyphensManual = 1,
    styleHyphensAuto = 2,
    styleHyphensNotSet = 3,
    styleHyphens_Max = 2147483647L
} styleHyphens;

typedef enum _styleHyphenateLimitLines
{
    styleHyphenateLimitLinesNoLimit = 0,
    styleHyphenateLimitLines_Max = 2147483647L
} styleHyphenateLimitLines;

typedef enum _styleMsAnimationPlayState
{
    styleMsAnimationPlayStateRunning = 0,
    styleMsAnimationPlayStatePaused = 1,
    styleMsAnimationPlayStateNotSet = 2,
    styleMsAnimationPlayState_Max = 2147483647L
} styleMsAnimationPlayState;

typedef enum _styleMsAnimationDirection
{
    styleMsAnimationDirectionNormal = 0,
    styleMsAnimationDirectionAlternate = 1,
    styleMsAnimationDirectionReverse = 2,
    styleMsAnimationDirectionAlternateReverse = 3,
    styleMsAnimationDirectionNotSet = 4,
    styleMsAnimationDirection_Max = 2147483647L
} styleMsAnimationDirection;

typedef enum _styleMsAnimationFillMode
{
    styleMsAnimationFillModeNone = 0,
    styleMsAnimationFillModeForwards = 1,
    styleMsAnimationFillModeBackwards = 2,
    styleMsAnimationFillModeBoth = 3,
    styleMsAnimationFillModeNotSet = 4,
    styleMsAnimationFillMode_Max = 2147483647L
} styleMsAnimationFillMode;

typedef enum _styleMsHighContrastAdjust
{
    styleMsHighContrastAdjustNotSet = 0,
    styleMsHighContrastAdjustAuto = 1,
    styleMsHighContrastAdjustNone = 2,
    styleMsHighContrastAdjust_Max = 2147483647L
} styleMsHighContrastAdjust;

typedef enum _styleMsUserSelect
{
    styleMsUserSelectAuto = 0,
    styleMsUserSelectText = 1,
    styleMsUserSelectElement = 2,
    styleMsUserSelectNone = 3,
    styleMsUserSelectNotSet = 4,
    styleMsUserSelect_Max = 2147483647L
} styleMsUserSelect;

typedef enum _styleMsTouchAction
{
    styleMsTouchActionNotSet = -1,
    styleMsTouchActionNone = 0,
    styleMsTouchActionAuto = 1,
    styleMsTouchActionManipulation = 2,
    styleMsTouchActionDoubleTapZoom = 4,
    styleMsTouchActionPanX = 8,
    styleMsTouchActionPanY = 16,
    styleMsTouchActionPinchZoom = 32,
    styleMsTouchActionCrossSlideX = 64,
    styleMsTouchActionCrossSlideY = 128,
    styleMsTouchAction_Max = 2147483647L
} styleMsTouchAction;

typedef enum _styleMsTouchSelect
{
    styleMsTouchSelectGrippers = 0,
    styleMsTouchSelectNone = 1,
    styleMsTouchSelectNotSet = 2,
    styleMsTouchSelect_Max = 2147483647L
} styleMsTouchSelect;

typedef enum _styleMsScrollTranslation
{
    styleMsScrollTranslationNotSet = 0,
    styleMsScrollTranslationNone = 1,
    styleMsScrollTranslationVtoH = 2,
    styleMsScrollTranslation_Max = 2147483647L
} styleMsScrollTranslation;

typedef enum _styleBorderImageRepeat
{
    styleBorderImageRepeatStretch = 0,
    styleBorderImageRepeatRepeat = 1,
    styleBorderImageRepeatRound = 2,
    styleBorderImageRepeatSpace = 3,
    styleBorderImageRepeatNotSet = 4,
    styleBorderImageRepeat_Max = 2147483647L
} styleBorderImageRepeat;

typedef enum _styleBorderImageSliceFill
{
    styleBorderImageSliceFillNotSet = 0,
    styleBorderImageSliceFillFill = 1,
    styleBorderImageSliceFill_Max = 2147483647L
} styleBorderImageSliceFill;

typedef enum _styleMsImeAlign
{
    styleMsImeAlignAuto = 0,
    styleMsImeAlignAfter = 1,
    styleMsImeAlignNotSet = 2,
    styleMsImeAlign_Max = 2147483647L
} styleMsImeAlign;

typedef enum _styleMsTextCombineHorizontal
{
    styleMsTextCombineHorizontalNone = 0,
    styleMsTextCombineHorizontalAll = 1,
    styleMsTextCombineHorizontalDigits = 2,
    styleMsTextCombineHorizontalNotSet = 3,
    styleMsTextCombineHorizontal_Max = 2147483647L
} styleMsTextCombineHorizontal;

typedef enum _styleWebkitAppearance
{
    styleWebkitAppearanceNone = 0,
    styleWebkitAppearanceCapsLockIndicator = 1,
    styleWebkitAppearanceButton = 2,
    styleWebkitAppearanceButtonBevel = 3,
    styleWebkitAppearanceCaret = 4,
    styleWebkitAppearanceCheckbox = 5,
    styleWebkitAppearanceDefaultButton = 6,
    styleWebkitAppearanceListbox = 7,
    styleWebkitAppearanceListitem = 8,
    styleWebkitAppearanceMediaFullscreenButton = 9,
    styleWebkitAppearanceMediaMuteButton = 10,
    styleWebkitAppearanceMediaPlayButton = 11,
    styleWebkitAppearanceMediaSeekBackButton = 12,
    styleWebkitAppearanceMediaSeekForwardButton = 13,
    styleWebkitAppearanceMediaSlider = 14,
    styleWebkitAppearanceMediaSliderthumb = 15,
    styleWebkitAppearanceMenulist = 16,
    styleWebkitAppearanceMenulistButton = 17,
    styleWebkitAppearanceMenulistText = 18,
    styleWebkitAppearanceMenulistTextfield = 19,
    styleWebkitAppearancePushButton = 20,
    styleWebkitAppearanceRadio = 21,
    styleWebkitAppearanceSearchfield = 22,
    styleWebkitAppearanceSearchfieldCancelButton = 23,
    styleWebkitAppearanceSearchfieldDecoration = 24,
    styleWebkitAppearanceSearchfieldResultsButton = 25,
    styleWebkitAppearanceSearchfieldResultsDecoration = 26,
    styleWebkitAppearanceSliderHorizontal = 27,
    styleWebkitAppearanceSliderVertical = 28,
    styleWebkitAppearanceSliderthumbHorizontal = 29,
    styleWebkitAppearanceSliderthumbVertical = 30,
    styleWebkitAppearanceSquareButton = 31,
    styleWebkitAppearanceTextarea = 32,
    styleWebkitAppearanceTextfield = 33,
    styleWebkitAppearanceNotSet = 34,
    styleWebkitAppearance_Max = 2147483647L
} styleWebkitAppearance;

interface IHTMLStyleSheetRule;
[
    odl,
    oleautomation,
    dual,
    uuid(30510740-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCSSStyleDeclaration : IDispatch
{
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PARENTRULE)] HRESULT parentRule([retval, out] VARIANT * p);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYVALUE)] HRESULT getPropertyValue([in] BSTR bstrPropertyName,[retval, out] BSTR* pbstrPropertyValue);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYPRIORITY)] HRESULT getPropertyPriority([in] BSTR bstrPropertyName,[retval, out] BSTR* pbstrPropertyPriority);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_REMOVEPROPERTY)] HRESULT removeProperty([in] BSTR bstrPropertyName,[retval, out] BSTR* pbstrPropertyValue);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_SETPROPERTY)] HRESULT setProperty([in] BSTR bstrPropertyName,[in] VARIANT* pvarPropertyValue,[defaultvalue(NULL), in] VARIANT* pvarPropertyPriority);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_ITEM)] HRESULT item([in] long index,[retval, out] BSTR* pbstrPropertyName);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTFAMILY), displaybind, bindable] HRESULT fontFamily([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTFAMILY), displaybind, bindable] HRESULT fontFamily([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTYLE), displaybind, bindable] HRESULT fontStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTYLE), displaybind, bindable] HRESULT fontStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTVARIANT), displaybind, bindable] HRESULT fontVariant([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTVARIANT), displaybind, bindable] HRESULT fontVariant([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTWEIGHT), displaybind, bindable] HRESULT fontWeight([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTWEIGHT), displaybind, bindable] HRESULT fontWeight([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZE), displaybind, bindable] HRESULT fontSize([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZE), displaybind, bindable] HRESULT fontSize([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONT), displaybind, bindable, nonbrowsable] HRESULT font([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONT), displaybind, bindable, nonbrowsable] HRESULT font([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_COLOR), displaybind, bindable] HRESULT color([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_COLOR), displaybind, bindable] HRESULT color([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUND), displaybind, bindable, nonbrowsable] HRESULT background([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUND), displaybind, bindable, nonbrowsable] HRESULT background([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCOLOR), displaybind, bindable] HRESULT backgroundColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCOLOR), displaybind, bindable] HRESULT backgroundColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDIMAGE), displaybind, bindable] HRESULT backgroundImage([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDIMAGE), displaybind, bindable] HRESULT backgroundImage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDREPEAT), displaybind, bindable] HRESULT backgroundRepeat([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDREPEAT), displaybind, bindable] HRESULT backgroundRepeat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDATTACHMENT), displaybind, bindable] HRESULT backgroundAttachment([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDATTACHMENT), displaybind, bindable] HRESULT backgroundAttachment([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITION), displaybind, bindable] HRESULT backgroundPosition([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITION), displaybind, bindable] HRESULT backgroundPosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONX), displaybind, bindable] HRESULT backgroundPositionX([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONX), displaybind, bindable] HRESULT backgroundPositionX([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONY), displaybind, bindable] HRESULT backgroundPositionY([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONY), displaybind, bindable] HRESULT backgroundPositionY([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDSPACING), displaybind, bindable] HRESULT wordSpacing([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDSPACING), displaybind, bindable] HRESULT wordSpacing([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LETTERSPACING), displaybind, bindable] HRESULT letterSpacing([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LETTERSPACING), displaybind, bindable] HRESULT letterSpacing([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTDECORATION), displaybind, bindable] HRESULT textDecoration([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTDECORATION), displaybind, bindable] HRESULT textDecoration([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_VERTICALALIGN), displaybind, bindable] HRESULT verticalAlign([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_VERTICALALIGN), displaybind, bindable] HRESULT verticalAlign([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTTRANSFORM), displaybind, bindable] HRESULT textTransform([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTTRANSFORM), displaybind, bindable] HRESULT textTransform([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGN), displaybind, bindable] HRESULT textAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGN), displaybind, bindable] HRESULT textAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTINDENT), displaybind, bindable] HRESULT textIndent([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTINDENT), displaybind, bindable] HRESULT textIndent([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEHEIGHT), displaybind, bindable] HRESULT lineHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEHEIGHT), displaybind, bindable] HRESULT lineHeight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINTOP), displaybind, bindable] HRESULT marginTop([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINTOP), displaybind, bindable] HRESULT marginTop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINRIGHT), displaybind, bindable] HRESULT marginRight([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINRIGHT), displaybind, bindable] HRESULT marginRight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINBOTTOM), displaybind, bindable] HRESULT marginBottom([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINBOTTOM), displaybind, bindable] HRESULT marginBottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINLEFT), displaybind, bindable] HRESULT marginLeft([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINLEFT), displaybind, bindable] HRESULT marginLeft([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGIN), displaybind, bindable, nonbrowsable] HRESULT margin([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGIN), displaybind, bindable, nonbrowsable] HRESULT margin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGTOP), displaybind, bindable] HRESULT paddingTop([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGTOP), displaybind, bindable] HRESULT paddingTop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGRIGHT), displaybind, bindable] HRESULT paddingRight([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGRIGHT), displaybind, bindable] HRESULT paddingRight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGBOTTOM), displaybind, bindable] HRESULT paddingBottom([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGBOTTOM), displaybind, bindable] HRESULT paddingBottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGLEFT), displaybind, bindable] HRESULT paddingLeft([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGLEFT), displaybind, bindable] HRESULT paddingLeft([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDING), displaybind, bindable, nonbrowsable] HRESULT padding([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDING), displaybind, bindable, nonbrowsable] HRESULT padding([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDER), displaybind, bindable, nonbrowsable] HRESULT border([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDER), displaybind, bindable, nonbrowsable] HRESULT border([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOP), displaybind, bindable] HRESULT borderTop([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOP), displaybind, bindable] HRESULT borderTop([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHT), displaybind, bindable] HRESULT borderRight([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHT), displaybind, bindable] HRESULT borderRight([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOM), displaybind, bindable] HRESULT borderBottom([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOM), displaybind, bindable] HRESULT borderBottom([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFT), displaybind, bindable] HRESULT borderLeft([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFT), displaybind, bindable] HRESULT borderLeft([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLOR), displaybind, bindable] HRESULT borderColor([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLOR), displaybind, bindable] HRESULT borderColor([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPCOLOR), displaybind, bindable] HRESULT borderTopColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPCOLOR), displaybind, bindable] HRESULT borderTopColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTCOLOR), displaybind, bindable] HRESULT borderRightColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTCOLOR), displaybind, bindable] HRESULT borderRightColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMCOLOR), displaybind, bindable] HRESULT borderBottomColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMCOLOR), displaybind, bindable] HRESULT borderBottomColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTCOLOR), displaybind, bindable] HRESULT borderLeftColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTCOLOR), displaybind, bindable] HRESULT borderLeftColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERWIDTH), displaybind, bindable] HRESULT borderWidth([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERWIDTH), displaybind, bindable] HRESULT borderWidth([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPWIDTH), displaybind, bindable] HRESULT borderTopWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPWIDTH), displaybind, bindable] HRESULT borderTopWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTWIDTH), displaybind, bindable] HRESULT borderRightWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTWIDTH), displaybind, bindable] HRESULT borderRightWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMWIDTH), displaybind, bindable] HRESULT borderBottomWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMWIDTH), displaybind, bindable] HRESULT borderBottomWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTWIDTH), displaybind, bindable] HRESULT borderLeftWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTWIDTH), displaybind, bindable] HRESULT borderLeftWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSTYLE), displaybind, bindable] HRESULT borderStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSTYLE), displaybind, bindable] HRESULT borderStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPSTYLE), displaybind, bindable] HRESULT borderTopStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPSTYLE), displaybind, bindable] HRESULT borderTopStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTSTYLE), displaybind, bindable] HRESULT borderRightStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTSTYLE), displaybind, bindable] HRESULT borderRightStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMSTYLE), displaybind, bindable] HRESULT borderBottomStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMSTYLE), displaybind, bindable] HRESULT borderBottomStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTSTYLE), displaybind, bindable] HRESULT borderLeftStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTSTYLE), displaybind, bindable] HRESULT borderLeftStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDTH), displaybind, bindable] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDTH), displaybind, bindable] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_HEIGHT), displaybind, bindable] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_HEIGHT), displaybind, bindable] HRESULT height([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STYLEFLOAT), displaybind, bindable] HRESULT styleFloat([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STYLEFLOAT), displaybind, bindable] HRESULT styleFloat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLEAR), displaybind, bindable] HRESULT clear([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLEAR), displaybind, bindable] HRESULT clear([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_DISPLAY), displaybind, bindable] HRESULT display([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_DISPLAY), displaybind, bindable] HRESULT display([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_VISIBILITY), displaybind, bindable] HRESULT visibility([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_VISIBILITY), displaybind, bindable] HRESULT visibility([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLETYPE), displaybind, bindable] HRESULT listStyleType([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLETYPE), displaybind, bindable] HRESULT listStyleType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEPOSITION), displaybind, bindable] HRESULT listStylePosition([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEPOSITION), displaybind, bindable] HRESULT listStylePosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEIMAGE), displaybind, bindable] HRESULT listStyleImage([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEIMAGE), displaybind, bindable] HRESULT listStyleImage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLE), displaybind, bindable, nonbrowsable] HRESULT listStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLE), displaybind, bindable, nonbrowsable] HRESULT listStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WHITESPACE), displaybind, bindable] HRESULT whiteSpace([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WHITESPACE), displaybind, bindable] HRESULT whiteSpace([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TOP), displaybind, bindable] HRESULT top([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TOP), displaybind, bindable] HRESULT top([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LEFT), displaybind, bindable] HRESULT left([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LEFT), displaybind, bindable] HRESULT left([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZINDEX), displaybind, bindable] HRESULT zIndex([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZINDEX), displaybind, bindable] HRESULT zIndex([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOW), displaybind, bindable] HRESULT overflow([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOW), displaybind, bindable] HRESULT overflow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKBEFORE), displaybind, bindable] HRESULT pageBreakBefore([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKBEFORE), displaybind, bindable] HRESULT pageBreakBefore([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKAFTER), displaybind, bindable] HRESULT pageBreakAfter([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKAFTER), displaybind, bindable] HRESULT pageBreakAfter([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSTEXT), displaybind, bindable, nonbrowsable] HRESULT cssText([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSTEXT), displaybind, bindable, nonbrowsable] HRESULT cssText([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CURSOR), displaybind, bindable] HRESULT cursor([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CURSOR), displaybind, bindable] HRESULT cursor([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIP), displaybind, bindable] HRESULT clip([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIP), displaybind, bindable] HRESULT clip([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILTER), displaybind, bindable] HRESULT filter([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILTER), displaybind, bindable] HRESULT filter([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TABLELAYOUT), displaybind, bindable] HRESULT tableLayout([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TABLELAYOUT), displaybind, bindable] HRESULT tableLayout([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLLAPSE), displaybind, bindable] HRESULT borderCollapse([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLLAPSE), displaybind, bindable] HRESULT borderCollapse([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_DIRECTION), displaybind, bindable] HRESULT direction([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_DIRECTION), displaybind, bindable] HRESULT direction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BEHAVIOR), displaybind, bindable] HRESULT behavior([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BEHAVIOR), displaybind, bindable] HRESULT behavior([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_POSITION), displaybind, bindable] HRESULT position([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_POSITION), displaybind, bindable] HRESULT position([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_UNICODEBIDI), displaybind, bindable] HRESULT unicodeBidi([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_UNICODEBIDI), displaybind, bindable] HRESULT unicodeBidi([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOTTOM), displaybind, bindable] HRESULT bottom([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOTTOM), displaybind, bindable] HRESULT bottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RIGHT), displaybind, bindable] HRESULT right([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RIGHT), displaybind, bindable] HRESULT right([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_IMEMODE), displaybind, bindable] HRESULT imeMode([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_IMEMODE), displaybind, bindable] HRESULT imeMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYALIGN), displaybind, bindable] HRESULT rubyAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYALIGN), displaybind, bindable] HRESULT rubyAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYPOSITION), displaybind, bindable] HRESULT rubyPosition([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYPOSITION), displaybind, bindable] HRESULT rubyPosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYOVERHANG), displaybind, bindable] HRESULT rubyOverhang([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYOVERHANG), displaybind, bindable] HRESULT rubyOverhang([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDCHAR), displaybind, bindable] HRESULT layoutGridChar([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDCHAR), displaybind, bindable] HRESULT layoutGridChar([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDLINE), displaybind, bindable] HRESULT layoutGridLine([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDLINE), displaybind, bindable] HRESULT layoutGridLine([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDMODE), displaybind, bindable] HRESULT layoutGridMode([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDMODE), displaybind, bindable] HRESULT layoutGridMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDTYPE), displaybind, bindable] HRESULT layoutGridType([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDTYPE), displaybind, bindable] HRESULT layoutGridType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRID), displaybind, bindable, nonbrowsable] HRESULT layoutGrid([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRID), displaybind, bindable, nonbrowsable] HRESULT layoutGrid([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTAUTOSPACE), displaybind, bindable] HRESULT textAutospace([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTAUTOSPACE), displaybind, bindable] HRESULT textAutospace([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDBREAK), displaybind, bindable] HRESULT wordBreak([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDBREAK), displaybind, bindable] HRESULT wordBreak([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEBREAK), displaybind, bindable] HRESULT lineBreak([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEBREAK), displaybind, bindable] HRESULT lineBreak([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFY), displaybind, bindable] HRESULT textJustify([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFY), displaybind, bindable] HRESULT textJustify([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFYTRIM), displaybind, bindable] HRESULT textJustifyTrim([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFYTRIM), displaybind, bindable] HRESULT textJustifyTrim([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDA), displaybind, bindable] HRESULT textKashida([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDA), displaybind, bindable] HRESULT textKashida([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWX), displaybind, bindable] HRESULT overflowX([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWX), displaybind, bindable] HRESULT overflowX([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWY), displaybind, bindable] HRESULT overflowY([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWY), displaybind, bindable] HRESULT overflowY([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ACCELERATOR), displaybind, bindable] HRESULT accelerator([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ACCELERATOR), displaybind, bindable] HRESULT accelerator([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTFLOW), displaybind, bindable] HRESULT layoutFlow([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTFLOW), displaybind, bindable] HRESULT layoutFlow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZOOM), displaybind, bindable] HRESULT zoom([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZOOM), displaybind, bindable] HRESULT zoom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDWRAP), displaybind, bindable] HRESULT wordWrap([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDWRAP), displaybind, bindable] HRESULT wordWrap([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTUNDERLINEPOSITION), displaybind, bindable] HRESULT textUnderlinePosition([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTUNDERLINEPOSITION), displaybind, bindable] HRESULT textUnderlinePosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARBASECOLOR), displaybind, bindable] HRESULT scrollbarBaseColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARBASECOLOR), displaybind, bindable] HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARFACECOLOR), displaybind, bindable] HRESULT scrollbarFaceColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARFACECOLOR), displaybind, bindable] HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] HRESULT scrollbar3dLightColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarShadowColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] HRESULT scrollbarHighlightColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarDarkShadowColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARARROWCOLOR), displaybind, bindable] HRESULT scrollbarArrowColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARARROWCOLOR), displaybind, bindable] HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARTRACKCOLOR), displaybind, bindable] HRESULT scrollbarTrackColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARTRACKCOLOR), displaybind, bindable] HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WRITINGMODE), displaybind, bindable] HRESULT writingMode([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WRITINGMODE), displaybind, bindable] HRESULT writingMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGNLAST), displaybind, bindable] HRESULT textAlignLast([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGNLAST), displaybind, bindable] HRESULT textAlignLast([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDASPACE), displaybind, bindable] HRESULT textKashidaSpace([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDASPACE), displaybind, bindable] HRESULT textKashidaSpace([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTOVERFLOW), displaybind, bindable] HRESULT textOverflow([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTOVERFLOW), displaybind, bindable] HRESULT textOverflow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINHEIGHT), displaybind, bindable] HRESULT minHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINHEIGHT), displaybind, bindable] HRESULT minHeight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSINTERPOLATIONMODE), displaybind, bindable] HRESULT msInterpolationMode([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSINTERPOLATIONMODE), displaybind, bindable] HRESULT msInterpolationMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXHEIGHT), displaybind, bindable] HRESULT maxHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXHEIGHT), displaybind, bindable] HRESULT maxHeight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINWIDTH), displaybind, bindable] HRESULT minWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINWIDTH), displaybind, bindable] HRESULT minWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXWIDTH), displaybind, bindable] HRESULT maxWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXWIDTH), displaybind, bindable] HRESULT maxWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CONTENT), displaybind, bindable] HRESULT content([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CONTENT), displaybind, bindable] HRESULT content([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CAPTIONSIDE), displaybind, bindable] HRESULT captionSide([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CAPTIONSIDE), displaybind, bindable] HRESULT captionSide([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERINCREMENT), displaybind, bindable] HRESULT counterIncrement([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERINCREMENT), displaybind, bindable] HRESULT counterIncrement([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERRESET), displaybind, bindable] HRESULT counterReset([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERRESET), displaybind, bindable] HRESULT counterReset([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINE), displaybind, bindable] HRESULT outline([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINE), displaybind, bindable] HRESULT outline([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINEWIDTH), displaybind, bindable] HRESULT outlineWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINEWIDTH), displaybind, bindable] HRESULT outlineWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINESTYLE), displaybind, bindable] HRESULT outlineStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINESTYLE), displaybind, bindable] HRESULT outlineStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINECOLOR), displaybind, bindable] HRESULT outlineColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINECOLOR), displaybind, bindable] HRESULT outlineColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSIZING), displaybind, bindable] HRESULT boxSizing([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSIZING), displaybind, bindable] HRESULT boxSizing([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSPACING), displaybind, bindable] HRESULT borderSpacing([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSPACING), displaybind, bindable] HRESULT borderSpacing([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ORPHANS), displaybind, bindable] HRESULT orphans([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ORPHANS), displaybind, bindable] HRESULT orphans([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDOWS), displaybind, bindable] HRESULT widows([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDOWS), displaybind, bindable] HRESULT widows([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKINSIDE), displaybind, bindable] HRESULT pageBreakInside([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKINSIDE), displaybind, bindable] HRESULT pageBreakInside([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_EMPTYCELLS), displaybind, bindable] HRESULT emptyCells([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_EMPTYCELLS), displaybind, bindable] HRESULT emptyCells([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSBLOCKPROGRESSION), displaybind, bindable] HRESULT msBlockProgression([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSBLOCKPROGRESSION), displaybind, bindable] HRESULT msBlockProgression([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_QUOTES), displaybind, bindable] HRESULT quotes([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_QUOTES), displaybind, bindable] HRESULT quotes([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ALIGNMENTBASELINE), displaybind, bindable] HRESULT alignmentBaseline([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ALIGNMENTBASELINE), displaybind, bindable] HRESULT alignmentBaseline([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BASELINESHIFT), displaybind, bindable] HRESULT baselineShift([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BASELINESHIFT), displaybind, bindable] HRESULT baselineShift([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_DOMINANTBASELINE), displaybind, bindable] HRESULT dominantBaseline([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_DOMINANTBASELINE), displaybind, bindable] HRESULT dominantBaseline([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZEADJUST), displaybind, bindable] HRESULT fontSizeAdjust([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZEADJUST), displaybind, bindable] HRESULT fontSizeAdjust([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTRETCH), displaybind, bindable] HRESULT fontStretch([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTRETCH), displaybind, bindable] HRESULT fontStretch([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OPACITY), displaybind, bindable] HRESULT opacity([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OPACITY), displaybind, bindable] HRESULT opacity([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPPATH), displaybind, bindable] HRESULT clipPath([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPPATH), displaybind, bindable] HRESULT clipPath([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRULE), displaybind, bindable] HRESULT clipRule([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRULE), displaybind, bindable] HRESULT clipRule([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILL), displaybind, bindable] HRESULT fill([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILL), displaybind, bindable] HRESULT fill([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLOPACITY), displaybind, bindable] HRESULT fillOpacity([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLOPACITY), displaybind, bindable] HRESULT fillOpacity([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLRULE), displaybind, bindable] HRESULT fillRule([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLRULE), displaybind, bindable] HRESULT fillRule([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_KERNING), displaybind, bindable] HRESULT kerning([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_KERNING), displaybind, bindable] HRESULT kerning([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKER), displaybind, bindable] HRESULT marker([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKER), displaybind, bindable] HRESULT marker([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKEREND), displaybind, bindable] HRESULT markerEnd([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKEREND), displaybind, bindable] HRESULT markerEnd([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERMID), displaybind, bindable] HRESULT markerMid([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERMID), displaybind, bindable] HRESULT markerMid([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERSTART), displaybind, bindable] HRESULT markerStart([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERSTART), displaybind, bindable] HRESULT markerStart([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MASK), displaybind, bindable] HRESULT mask([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MASK), displaybind, bindable] HRESULT mask([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_POINTEREVENTS), displaybind, bindable] HRESULT pointerEvents([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_POINTEREVENTS), displaybind, bindable] HRESULT pointerEvents([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPCOLOR), displaybind, bindable] HRESULT stopColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPCOLOR), displaybind, bindable] HRESULT stopColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPOPACITY), displaybind, bindable] HRESULT stopOpacity([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPOPACITY), displaybind, bindable] HRESULT stopOpacity([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKE), displaybind, bindable] HRESULT stroke([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKE), displaybind, bindable] HRESULT stroke([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHARRAY), displaybind, bindable] HRESULT strokeDasharray([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHARRAY), displaybind, bindable] HRESULT strokeDasharray([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHOFFSET), displaybind, bindable] HRESULT strokeDashoffset([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHOFFSET), displaybind, bindable] HRESULT strokeDashoffset([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINECAP), displaybind, bindable] HRESULT strokeLinecap([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINECAP), displaybind, bindable] HRESULT strokeLinecap([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINEJOIN), displaybind, bindable] HRESULT strokeLinejoin([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINEJOIN), displaybind, bindable] HRESULT strokeLinejoin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEMITERLIMIT), displaybind, bindable] HRESULT strokeMiterlimit([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEMITERLIMIT), displaybind, bindable] HRESULT strokeMiterlimit([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEOPACITY), displaybind, bindable] HRESULT strokeOpacity([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEOPACITY), displaybind, bindable] HRESULT strokeOpacity([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEWIDTH), displaybind, bindable] HRESULT strokeWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEWIDTH), displaybind, bindable] HRESULT strokeWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTANCHOR), displaybind, bindable] HRESULT textAnchor([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTANCHOR), displaybind, bindable] HRESULT textAnchor([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONHORIZONTAL), displaybind, bindable] HRESULT glyphOrientationHorizontal([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONHORIZONTAL), displaybind, bindable] HRESULT glyphOrientationHorizontal([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONVERTICAL), displaybind, bindable] HRESULT glyphOrientationVertical([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONVERTICAL), displaybind, bindable] HRESULT glyphOrientationVertical([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRADIUS), displaybind, bindable] HRESULT borderRadius([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRADIUS), displaybind, bindable] HRESULT borderRadius([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPLEFTRADIUS), displaybind, bindable] HRESULT borderTopLeftRadius([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPLEFTRADIUS), displaybind, bindable] HRESULT borderTopLeftRadius([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPRIGHTRADIUS), displaybind, bindable] HRESULT borderTopRightRadius([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPRIGHTRADIUS), displaybind, bindable] HRESULT borderTopRightRadius([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMRIGHTRADIUS), displaybind, bindable] HRESULT borderBottomRightRadius([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMRIGHTRADIUS), displaybind, bindable] HRESULT borderBottomRightRadius([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMLEFTRADIUS), displaybind, bindable] HRESULT borderBottomLeftRadius([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMLEFTRADIUS), displaybind, bindable] HRESULT borderBottomLeftRadius([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPTOP), displaybind, bindable, hidden] HRESULT clipTop([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPTOP), displaybind, bindable, hidden] HRESULT clipTop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRIGHT), displaybind, bindable, hidden] HRESULT clipRight([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRIGHT), displaybind, bindable, hidden] HRESULT clipRight([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPBOTTOM), displaybind, bindable, hidden] HRESULT clipBottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPLEFT), displaybind, bindable, hidden] HRESULT clipLeft([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPLEFT), displaybind, bindable, hidden] HRESULT clipLeft([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSFLOAT), displaybind, bindable] HRESULT cssFloat([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSFLOAT), displaybind, bindable] HRESULT cssFloat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCLIP), displaybind, bindable] HRESULT backgroundClip([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCLIP), displaybind, bindable] HRESULT backgroundClip([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDORIGIN), displaybind, bindable] HRESULT backgroundOrigin([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDORIGIN), displaybind, bindable] HRESULT backgroundOrigin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDSIZE), displaybind, bindable] HRESULT backgroundSize([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDSIZE), displaybind, bindable] HRESULT backgroundSize([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSHADOW), displaybind, bindable] HRESULT boxShadow([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSHADOW), displaybind, bindable] HRESULT boxShadow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORM), displaybind, bindable] HRESULT msTransform([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORM), displaybind, bindable] HRESULT msTransform([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORMORIGIN), displaybind, bindable] HRESULT msTransformOrigin([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORMORIGIN), displaybind, bindable] HRESULT msTransformOrigin([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305107d1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCSSStyleDeclaration2 : IDispatch
{
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] HRESULT msScrollChaining([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] HRESULT msScrollChaining([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] HRESULT msContentZooming([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] HRESULT msContentZooming([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] HRESULT msContentZoomSnapType([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] HRESULT msContentZoomSnapType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] HRESULT msScrollRails([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] HRESULT msScrollRails([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] HRESULT msContentZoomChaining([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] HRESULT msContentZoomChaining([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] HRESULT msScrollSnapType([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] HRESULT msScrollSnapType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] HRESULT msContentZoomLimit([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] HRESULT msContentZoomLimit([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] HRESULT msContentZoomSnap([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] HRESULT msContentZoomSnap([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] HRESULT msContentZoomSnapPoints([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] HRESULT msContentZoomSnapPoints([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] HRESULT msContentZoomLimitMin([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] HRESULT msContentZoomLimitMin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] HRESULT msContentZoomLimitMax([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] HRESULT msContentZoomLimitMax([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] HRESULT msScrollSnapX([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] HRESULT msScrollSnapX([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] HRESULT msScrollSnapY([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] HRESULT msScrollSnapY([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] HRESULT msScrollSnapPointsX([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] HRESULT msScrollSnapPointsX([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] HRESULT msScrollSnapPointsY([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] HRESULT msScrollSnapPointsY([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] HRESULT msGridColumn([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] HRESULT msGridColumn([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] HRESULT msGridColumnAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] HRESULT msGridColumnAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] HRESULT msGridColumns([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] HRESULT msGridColumns([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] HRESULT msGridColumnSpan([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] HRESULT msGridColumnSpan([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] HRESULT msGridRow([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] HRESULT msGridRow([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] HRESULT msGridRowAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] HRESULT msGridRowAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] HRESULT msGridRows([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] HRESULT msGridRows([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] HRESULT msGridRowSpan([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] HRESULT msGridRowSpan([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] HRESULT msWrapThrough([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] HRESULT msWrapThrough([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] HRESULT msWrapMargin([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] HRESULT msWrapMargin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] HRESULT msWrapFlow([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] HRESULT msWrapFlow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] HRESULT msAnimationName([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] HRESULT msAnimationName([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] HRESULT msAnimationDuration([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] HRESULT msAnimationDuration([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] HRESULT msAnimationTimingFunction([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] HRESULT msAnimationTimingFunction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] HRESULT msAnimationDelay([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] HRESULT msAnimationDelay([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] HRESULT msAnimationDirection([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] HRESULT msAnimationDirection([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] HRESULT msAnimationPlayState([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] HRESULT msAnimationPlayState([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] HRESULT msAnimationIterationCount([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] HRESULT msAnimationIterationCount([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] HRESULT msAnimation([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] HRESULT msAnimation([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] HRESULT msAnimationFillMode([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] HRESULT msAnimationFillMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] HRESULT colorInterpolationFilters([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] HRESULT colorInterpolationFilters([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] HRESULT columnCount([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] HRESULT columnCount([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] HRESULT columnWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] HRESULT columnWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] HRESULT columnGap([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] HRESULT columnGap([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] HRESULT columnFill([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] HRESULT columnFill([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] HRESULT columnSpan([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] HRESULT columnSpan([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] HRESULT columns([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] HRESULT columns([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] HRESULT columnRule([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] HRESULT columnRule([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] HRESULT columnRuleColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] HRESULT columnRuleColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] HRESULT columnRuleStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] HRESULT columnRuleStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] HRESULT columnRuleWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] HRESULT columnRuleWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] HRESULT breakBefore([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] HRESULT breakBefore([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] HRESULT breakAfter([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] HRESULT breakAfter([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] HRESULT breakInside([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] HRESULT breakInside([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] HRESULT floodColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] HRESULT floodColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] HRESULT floodOpacity([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] HRESULT floodOpacity([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] HRESULT lightingColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] HRESULT lightingColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] HRESULT msScrollLimitXMin([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] HRESULT msScrollLimitXMin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] HRESULT msScrollLimitYMin([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] HRESULT msScrollLimitYMin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] HRESULT msScrollLimitXMax([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] HRESULT msScrollLimitXMax([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] HRESULT msScrollLimitYMax([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] HRESULT msScrollLimitYMax([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] HRESULT msScrollLimit([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] HRESULT msScrollLimit([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] HRESULT textShadow([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] HRESULT textShadow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] HRESULT msFlowFrom([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] HRESULT msFlowFrom([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] HRESULT msFlowInto([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] HRESULT msFlowInto([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] HRESULT msHyphens([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] HRESULT msHyphens([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] HRESULT msHyphenateLimitZone([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] HRESULT msHyphenateLimitZone([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] HRESULT msHyphenateLimitChars([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] HRESULT msHyphenateLimitChars([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] HRESULT msHyphenateLimitLines([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] HRESULT msHyphenateLimitLines([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] HRESULT msHighContrastAdjust([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] HRESULT msHighContrastAdjust([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] HRESULT enableBackground([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] HRESULT enableBackground([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] HRESULT msFontFeatureSettings([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] HRESULT msFontFeatureSettings([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] HRESULT msUserSelect([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] HRESULT msUserSelect([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] HRESULT msOverflowStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] HRESULT msOverflowStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] HRESULT msTransformStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] HRESULT msTransformStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] HRESULT msBackfaceVisibility([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] HRESULT msBackfaceVisibility([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] HRESULT msPerspective([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] HRESULT msPerspective([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] HRESULT msPerspectiveOrigin([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] HRESULT msPerspectiveOrigin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] HRESULT msTransitionProperty([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] HRESULT msTransitionProperty([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] HRESULT msTransitionDuration([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] HRESULT msTransitionDuration([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] HRESULT msTransitionTimingFunction([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] HRESULT msTransitionTimingFunction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] HRESULT msTransitionDelay([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] HRESULT msTransitionDelay([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] HRESULT msTransition([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] HRESULT msTransition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] HRESULT msTouchAction([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] HRESULT msTouchAction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] HRESULT msScrollTranslation([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] HRESULT msScrollTranslation([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] HRESULT msFlex([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] HRESULT msFlex([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] HRESULT msFlexPositive([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] HRESULT msFlexPositive([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] HRESULT msFlexNegative([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] HRESULT msFlexNegative([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] HRESULT msFlexPreferredSize([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] HRESULT msFlexPreferredSize([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] HRESULT msFlexFlow([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] HRESULT msFlexFlow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] HRESULT msFlexDirection([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] HRESULT msFlexDirection([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] HRESULT msFlexWrap([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] HRESULT msFlexWrap([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] HRESULT msFlexAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] HRESULT msFlexAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] HRESULT msFlexItemAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] HRESULT msFlexItemAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] HRESULT msFlexPack([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] HRESULT msFlexPack([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] HRESULT msFlexLinePack([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] HRESULT msFlexLinePack([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] HRESULT msFlexOrder([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] HRESULT msFlexOrder([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] HRESULT msTouchSelect([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] HRESULT msTouchSelect([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] HRESULT transform([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] HRESULT transform([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] HRESULT transformOrigin([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] HRESULT transformOrigin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] HRESULT transformStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] HRESULT transformStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] HRESULT backfaceVisibility([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] HRESULT backfaceVisibility([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] HRESULT perspective([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] HRESULT perspective([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] HRESULT perspectiveOrigin([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] HRESULT perspectiveOrigin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] HRESULT transitionProperty([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] HRESULT transitionProperty([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] HRESULT transitionDuration([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] HRESULT transitionDuration([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] HRESULT transitionTimingFunction([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] HRESULT transitionTimingFunction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] HRESULT transitionDelay([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] HRESULT transitionDelay([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] HRESULT transition([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] HRESULT transition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] HRESULT fontFeatureSettings([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] HRESULT fontFeatureSettings([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] HRESULT animationName([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] HRESULT animationName([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] HRESULT animationDuration([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] HRESULT animationDuration([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] HRESULT animationTimingFunction([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] HRESULT animationTimingFunction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] HRESULT animationDelay([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] HRESULT animationDelay([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] HRESULT animationDirection([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] HRESULT animationDirection([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] HRESULT animationPlayState([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] HRESULT animationPlayState([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] HRESULT animationIterationCount([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] HRESULT animationIterationCount([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] HRESULT animation([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] HRESULT animation([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] HRESULT animationFillMode([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] HRESULT animationFillMode([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051085C-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCSSStyleDeclaration3 : IDispatch
{
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] HRESULT flex([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] HRESULT flex([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] HRESULT flexDirection([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] HRESULT flexDirection([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] HRESULT flexWrap([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] HRESULT flexWrap([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] HRESULT flexFlow([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] HRESULT flexFlow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] HRESULT flexGrow([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] HRESULT flexGrow([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] HRESULT flexShrink([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] HRESULT flexShrink([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] HRESULT flexBasis([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] HRESULT flexBasis([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] HRESULT justifyContent([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] HRESULT justifyContent([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] HRESULT alignItems([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] HRESULT alignItems([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] HRESULT alignSelf([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] HRESULT alignSelf([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] HRESULT alignContent([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] HRESULT alignContent([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] HRESULT borderImage([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] HRESULT borderImage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] HRESULT borderImageSource([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] HRESULT borderImageSource([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] HRESULT borderImageSlice([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] HRESULT borderImageSlice([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] HRESULT borderImageWidth([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] HRESULT borderImageWidth([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] HRESULT borderImageOutset([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] HRESULT borderImageOutset([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] HRESULT borderImageRepeat([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] HRESULT borderImageRepeat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] HRESULT msImeAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] HRESULT msImeAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] HRESULT msTextCombineHorizontal([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] HRESULT msTextCombineHorizontal([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] HRESULT touchAction([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] HRESULT touchAction([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(D6100F3B-27C8-4132-AFEA-F0E4B1E00060)
]
interface IHTMLCSSStyleDeclaration4 : IDispatch
{
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] HRESULT webkitAppearance([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] HRESULT webkitAppearance([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] HRESULT webkitUserSelect([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] HRESULT webkitUserSelect([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] HRESULT webkitBoxAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] HRESULT webkitBoxAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] HRESULT webkitBoxOrdinalGroup([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] HRESULT webkitBoxOrdinalGroup([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] HRESULT webkitBoxPack([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] HRESULT webkitBoxPack([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] HRESULT webkitBoxFlex([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] HRESULT webkitBoxFlex([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] HRESULT webkitBoxOrient([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] HRESULT webkitBoxOrient([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] HRESULT webkitBoxDirection([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] HRESULT webkitBoxDirection([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] HRESULT webkitTransform([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] HRESULT webkitTransform([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] HRESULT webkitBackgroundSize([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] HRESULT webkitBackgroundSize([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] HRESULT webkitBackfaceVisibility([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] HRESULT webkitBackfaceVisibility([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] HRESULT webkitAnimation([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] HRESULT webkitAnimation([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] HRESULT webkitTransition([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] HRESULT webkitTransition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] HRESULT webkitAnimationName([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] HRESULT webkitAnimationName([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] HRESULT webkitAnimationDuration([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] HRESULT webkitAnimationDuration([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] HRESULT webkitAnimationTimingFunction([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] HRESULT webkitAnimationTimingFunction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] HRESULT webkitAnimationDelay([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] HRESULT webkitAnimationDelay([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] HRESULT webkitAnimationIterationCount([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] HRESULT webkitAnimationIterationCount([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] HRESULT webkitAnimationDirection([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] HRESULT webkitAnimationDirection([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] HRESULT webkitAnimationPlayState([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] HRESULT webkitAnimationPlayState([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] HRESULT webkitTransitionProperty([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] HRESULT webkitTransitionProperty([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] HRESULT webkitTransitionDuration([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] HRESULT webkitTransitionDuration([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] HRESULT webkitTransitionTimingFunction([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] HRESULT webkitTransitionTimingFunction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] HRESULT webkitTransitionDelay([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] HRESULT webkitTransitionDelay([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] HRESULT webkitBackgroundAttachment([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] HRESULT webkitBackgroundAttachment([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] HRESULT webkitBackgroundColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] HRESULT webkitBackgroundColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] HRESULT webkitBackgroundClip([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] HRESULT webkitBackgroundClip([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] HRESULT webkitBackgroundImage([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] HRESULT webkitBackgroundImage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] HRESULT webkitBackgroundRepeat([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] HRESULT webkitBackgroundRepeat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] HRESULT webkitBackgroundOrigin([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] HRESULT webkitBackgroundOrigin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] HRESULT webkitBackgroundPosition([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] HRESULT webkitBackgroundPosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] HRESULT webkitBackgroundPositionX([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] HRESULT webkitBackgroundPositionX([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] HRESULT webkitBackgroundPositionY([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] HRESULT webkitBackgroundPositionY([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] HRESULT webkitBackground([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] HRESULT webkitBackground([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] HRESULT webkitTransformOrigin([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] HRESULT webkitTransformOrigin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] HRESULT msTextSizeAdjust([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] HRESULT msTextSizeAdjust([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] HRESULT webkitTextSizeAdjust([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] HRESULT webkitTextSizeAdjust([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] HRESULT webkitBorderImage([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] HRESULT webkitBorderImage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] HRESULT webkitBorderImageSource([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] HRESULT webkitBorderImageSource([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] HRESULT webkitBorderImageSlice([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] HRESULT webkitBorderImageSlice([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] HRESULT webkitBorderImageWidth([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] HRESULT webkitBorderImageWidth([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] HRESULT webkitBorderImageOutset([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] HRESULT webkitBorderImageOutset([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] HRESULT webkitBorderImageRepeat([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] HRESULT webkitBorderImageRepeat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] HRESULT webkitBoxSizing([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] HRESULT webkitBoxSizing([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] HRESULT webkitAnimationFillMode([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] HRESULT webkitAnimationFillMode([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104c2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleEnabled : IDispatch
{
    [id(DISPID_IHTMLSTYLEENABLED_MSGETPROPERTYENABLED)] HRESULT msGetPropertyEnabled([in] BSTR name,[retval, out] VARIANT_BOOL* p);
    [id(DISPID_IHTMLSTYLEENABLED_MSPUTPROPERTYENABLED)] HRESULT msPutPropertyEnabled([in] BSTR name,[in] VARIANT_BOOL b);
};
[
    hidden,
    uuid(3059009a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLCSSStyleDeclaration
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PARENTRULE)] VARIANT parentRule();
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYVALUE)] BSTR getPropertyValue([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYPRIORITY)] BSTR getPropertyPriority([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_REMOVEPROPERTY)] BSTR removeProperty([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_SETPROPERTY)] void setProperty([in] BSTR bstrPropertyName,[in] VARIANT* pvarPropertyValue,[defaultvalue(NULL), in] VARIANT* pvarPropertyPriority);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_ITEM)] BSTR item([in] long index);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTFAMILY), displaybind, bindable] void fontFamily(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTFAMILY), displaybind, bindable] BSTR fontFamily();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTYLE), displaybind, bindable] void fontStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTYLE), displaybind, bindable] BSTR fontStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTVARIANT), displaybind, bindable] void fontVariant(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTVARIANT), displaybind, bindable] BSTR fontVariant();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTWEIGHT), displaybind, bindable] void fontWeight(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTWEIGHT), displaybind, bindable] BSTR fontWeight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZE), displaybind, bindable] void fontSize(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZE), displaybind, bindable] VARIANT fontSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONT), displaybind, bindable, nonbrowsable] void font(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONT), displaybind, bindable, nonbrowsable] BSTR font();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_COLOR), displaybind, bindable] void color(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_COLOR), displaybind, bindable] VARIANT color();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUND), displaybind, bindable, nonbrowsable] void background(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUND), displaybind, bindable, nonbrowsable] BSTR background();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCOLOR), displaybind, bindable] void backgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCOLOR), displaybind, bindable] VARIANT backgroundColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDIMAGE), displaybind, bindable] void backgroundImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDIMAGE), displaybind, bindable] BSTR backgroundImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDREPEAT), displaybind, bindable] void backgroundRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDREPEAT), displaybind, bindable] BSTR backgroundRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDATTACHMENT), displaybind, bindable] void backgroundAttachment(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDATTACHMENT), displaybind, bindable] BSTR backgroundAttachment();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITION), displaybind, bindable] void backgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITION), displaybind, bindable] BSTR backgroundPosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONX), displaybind, bindable] void backgroundPositionX(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONX), displaybind, bindable] VARIANT backgroundPositionX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONY), displaybind, bindable] void backgroundPositionY(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONY), displaybind, bindable] VARIANT backgroundPositionY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDSPACING), displaybind, bindable] void wordSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDSPACING), displaybind, bindable] VARIANT wordSpacing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LETTERSPACING), displaybind, bindable] void letterSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LETTERSPACING), displaybind, bindable] VARIANT letterSpacing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTDECORATION), displaybind, bindable] void textDecoration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTDECORATION), displaybind, bindable] BSTR textDecoration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_VERTICALALIGN), displaybind, bindable] void verticalAlign(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_VERTICALALIGN), displaybind, bindable] VARIANT verticalAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTTRANSFORM), displaybind, bindable] void textTransform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTTRANSFORM), displaybind, bindable] BSTR textTransform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGN), displaybind, bindable] void textAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGN), displaybind, bindable] BSTR textAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTINDENT), displaybind, bindable] void textIndent(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTINDENT), displaybind, bindable] VARIANT textIndent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEHEIGHT), displaybind, bindable] void lineHeight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEHEIGHT), displaybind, bindable] VARIANT lineHeight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINTOP), displaybind, bindable] void marginTop(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINTOP), displaybind, bindable] VARIANT marginTop();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINRIGHT), displaybind, bindable] void marginRight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINRIGHT), displaybind, bindable] VARIANT marginRight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINBOTTOM), displaybind, bindable] void marginBottom(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINBOTTOM), displaybind, bindable] VARIANT marginBottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINLEFT), displaybind, bindable] void marginLeft(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINLEFT), displaybind, bindable] VARIANT marginLeft();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGIN), displaybind, bindable, nonbrowsable] void margin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGIN), displaybind, bindable, nonbrowsable] BSTR margin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGTOP), displaybind, bindable] void paddingTop(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGTOP), displaybind, bindable] VARIANT paddingTop();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGRIGHT), displaybind, bindable] void paddingRight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGRIGHT), displaybind, bindable] VARIANT paddingRight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGBOTTOM), displaybind, bindable] void paddingBottom(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGBOTTOM), displaybind, bindable] VARIANT paddingBottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGLEFT), displaybind, bindable] void paddingLeft(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGLEFT), displaybind, bindable] VARIANT paddingLeft();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDING), displaybind, bindable, nonbrowsable] void padding(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDING), displaybind, bindable, nonbrowsable] BSTR padding();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDER), displaybind, bindable, nonbrowsable] void border(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDER), displaybind, bindable, nonbrowsable] BSTR border();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOP), displaybind, bindable] void borderTop(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOP), displaybind, bindable] BSTR borderTop();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHT), displaybind, bindable] void borderRight(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHT), displaybind, bindable] BSTR borderRight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOM), displaybind, bindable] void borderBottom(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOM), displaybind, bindable] BSTR borderBottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFT), displaybind, bindable] void borderLeft(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFT), displaybind, bindable] BSTR borderLeft();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLOR), displaybind, bindable] void borderColor(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLOR), displaybind, bindable] BSTR borderColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPCOLOR), displaybind, bindable] void borderTopColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPCOLOR), displaybind, bindable] VARIANT borderTopColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTCOLOR), displaybind, bindable] void borderRightColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTCOLOR), displaybind, bindable] VARIANT borderRightColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMCOLOR), displaybind, bindable] void borderBottomColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMCOLOR), displaybind, bindable] VARIANT borderBottomColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTCOLOR), displaybind, bindable] void borderLeftColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTCOLOR), displaybind, bindable] VARIANT borderLeftColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERWIDTH), displaybind, bindable] void borderWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERWIDTH), displaybind, bindable] BSTR borderWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPWIDTH), displaybind, bindable] void borderTopWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPWIDTH), displaybind, bindable] VARIANT borderTopWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTWIDTH), displaybind, bindable] void borderRightWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTWIDTH), displaybind, bindable] VARIANT borderRightWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMWIDTH), displaybind, bindable] void borderBottomWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMWIDTH), displaybind, bindable] VARIANT borderBottomWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTWIDTH), displaybind, bindable] void borderLeftWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTWIDTH), displaybind, bindable] VARIANT borderLeftWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSTYLE), displaybind, bindable] void borderStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSTYLE), displaybind, bindable] BSTR borderStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPSTYLE), displaybind, bindable] void borderTopStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPSTYLE), displaybind, bindable] BSTR borderTopStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTSTYLE), displaybind, bindable] void borderRightStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTSTYLE), displaybind, bindable] BSTR borderRightStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMSTYLE), displaybind, bindable] void borderBottomStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMSTYLE), displaybind, bindable] BSTR borderBottomStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTSTYLE), displaybind, bindable] void borderLeftStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTSTYLE), displaybind, bindable] BSTR borderLeftStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDTH), displaybind, bindable] void width(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDTH), displaybind, bindable] VARIANT width();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_HEIGHT), displaybind, bindable] void height(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_HEIGHT), displaybind, bindable] VARIANT height();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STYLEFLOAT), displaybind, bindable] void styleFloat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STYLEFLOAT), displaybind, bindable] BSTR styleFloat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLEAR), displaybind, bindable] void clear(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLEAR), displaybind, bindable] BSTR clear();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_DISPLAY), displaybind, bindable] void display(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_DISPLAY), displaybind, bindable] BSTR display();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_VISIBILITY), displaybind, bindable] void visibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_VISIBILITY), displaybind, bindable] BSTR visibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLETYPE), displaybind, bindable] void listStyleType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLETYPE), displaybind, bindable] BSTR listStyleType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEPOSITION), displaybind, bindable] void listStylePosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEPOSITION), displaybind, bindable] BSTR listStylePosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEIMAGE), displaybind, bindable] void listStyleImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEIMAGE), displaybind, bindable] BSTR listStyleImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLE), displaybind, bindable, nonbrowsable] void listStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLE), displaybind, bindable, nonbrowsable] BSTR listStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WHITESPACE), displaybind, bindable] void whiteSpace(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WHITESPACE), displaybind, bindable] BSTR whiteSpace();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TOP), displaybind, bindable] void top(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TOP), displaybind, bindable] VARIANT top();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LEFT), displaybind, bindable] void left(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LEFT), displaybind, bindable] VARIANT left();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZINDEX), displaybind, bindable] void zIndex(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZINDEX), displaybind, bindable] VARIANT zIndex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOW), displaybind, bindable] void overflow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOW), displaybind, bindable] BSTR overflow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKBEFORE), displaybind, bindable] void pageBreakBefore(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKBEFORE), displaybind, bindable] BSTR pageBreakBefore();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKAFTER), displaybind, bindable] void pageBreakAfter(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKAFTER), displaybind, bindable] BSTR pageBreakAfter();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSTEXT), displaybind, bindable, nonbrowsable] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSTEXT), displaybind, bindable, nonbrowsable] BSTR cssText();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CURSOR), displaybind, bindable] void cursor(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CURSOR), displaybind, bindable] BSTR cursor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIP), displaybind, bindable] void clip(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIP), displaybind, bindable] BSTR clip();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILTER), displaybind, bindable] void filter(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILTER), displaybind, bindable] BSTR filter();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TABLELAYOUT), displaybind, bindable] void tableLayout(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TABLELAYOUT), displaybind, bindable] BSTR tableLayout();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLLAPSE), displaybind, bindable] void borderCollapse(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLLAPSE), displaybind, bindable] BSTR borderCollapse();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_DIRECTION), displaybind, bindable] void direction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_DIRECTION), displaybind, bindable] BSTR direction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BEHAVIOR), displaybind, bindable] void behavior(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BEHAVIOR), displaybind, bindable] BSTR behavior();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_POSITION), displaybind, bindable] void position(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_POSITION), displaybind, bindable] BSTR position();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_UNICODEBIDI), displaybind, bindable] void unicodeBidi(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_UNICODEBIDI), displaybind, bindable] BSTR unicodeBidi();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOTTOM), displaybind, bindable] void bottom(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOTTOM), displaybind, bindable] VARIANT bottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RIGHT), displaybind, bindable] void right(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RIGHT), displaybind, bindable] VARIANT right();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_IMEMODE), displaybind, bindable] void imeMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_IMEMODE), displaybind, bindable] BSTR imeMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYALIGN), displaybind, bindable] void rubyAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYALIGN), displaybind, bindable] BSTR rubyAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYPOSITION), displaybind, bindable] void rubyPosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYPOSITION), displaybind, bindable] BSTR rubyPosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYOVERHANG), displaybind, bindable] void rubyOverhang(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYOVERHANG), displaybind, bindable] BSTR rubyOverhang();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDCHAR), displaybind, bindable] void layoutGridChar(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDCHAR), displaybind, bindable] VARIANT layoutGridChar();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDLINE), displaybind, bindable] void layoutGridLine(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDLINE), displaybind, bindable] VARIANT layoutGridLine();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDMODE), displaybind, bindable] void layoutGridMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDMODE), displaybind, bindable] BSTR layoutGridMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDTYPE), displaybind, bindable] void layoutGridType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDTYPE), displaybind, bindable] BSTR layoutGridType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRID), displaybind, bindable, nonbrowsable] void layoutGrid(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRID), displaybind, bindable, nonbrowsable] BSTR layoutGrid();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTAUTOSPACE), displaybind, bindable] void textAutospace(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTAUTOSPACE), displaybind, bindable] BSTR textAutospace();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDBREAK), displaybind, bindable] void wordBreak(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDBREAK), displaybind, bindable] BSTR wordBreak();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEBREAK), displaybind, bindable] void lineBreak(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEBREAK), displaybind, bindable] BSTR lineBreak();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFY), displaybind, bindable] void textJustify(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFY), displaybind, bindable] BSTR textJustify();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFYTRIM), displaybind, bindable] void textJustifyTrim(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFYTRIM), displaybind, bindable] BSTR textJustifyTrim();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDA), displaybind, bindable] void textKashida(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDA), displaybind, bindable] VARIANT textKashida();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWX), displaybind, bindable] void overflowX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWX), displaybind, bindable] BSTR overflowX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWY), displaybind, bindable] void overflowY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWY), displaybind, bindable] BSTR overflowY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ACCELERATOR), displaybind, bindable] void accelerator(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ACCELERATOR), displaybind, bindable] BSTR accelerator();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTFLOW), displaybind, bindable] void layoutFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTFLOW), displaybind, bindable] BSTR layoutFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZOOM), displaybind, bindable] void zoom(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZOOM), displaybind, bindable] VARIANT zoom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDWRAP), displaybind, bindable] void wordWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDWRAP), displaybind, bindable] BSTR wordWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTUNDERLINEPOSITION), displaybind, bindable] void textUnderlinePosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTUNDERLINEPOSITION), displaybind, bindable] BSTR textUnderlinePosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARBASECOLOR), displaybind, bindable] void scrollbarBaseColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARBASECOLOR), displaybind, bindable] VARIANT scrollbarBaseColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARFACECOLOR), displaybind, bindable] void scrollbarFaceColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARFACECOLOR), displaybind, bindable] VARIANT scrollbarFaceColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] void scrollbar3dLightColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] VARIANT scrollbar3dLightColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARSHADOWCOLOR), displaybind, bindable] void scrollbarShadowColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarShadowColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] void scrollbarHighlightColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] VARIANT scrollbarHighlightColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] void scrollbarDarkShadowColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarDarkShadowColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARARROWCOLOR), displaybind, bindable] void scrollbarArrowColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARARROWCOLOR), displaybind, bindable] VARIANT scrollbarArrowColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARTRACKCOLOR), displaybind, bindable] void scrollbarTrackColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARTRACKCOLOR), displaybind, bindable] VARIANT scrollbarTrackColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WRITINGMODE), displaybind, bindable] void writingMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WRITINGMODE), displaybind, bindable] BSTR writingMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGNLAST), displaybind, bindable] void textAlignLast(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGNLAST), displaybind, bindable] BSTR textAlignLast();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDASPACE), displaybind, bindable] void textKashidaSpace(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDASPACE), displaybind, bindable] VARIANT textKashidaSpace();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTOVERFLOW), displaybind, bindable] void textOverflow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTOVERFLOW), displaybind, bindable] BSTR textOverflow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINHEIGHT), displaybind, bindable] void minHeight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINHEIGHT), displaybind, bindable] VARIANT minHeight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSINTERPOLATIONMODE), displaybind, bindable] void msInterpolationMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSINTERPOLATIONMODE), displaybind, bindable] BSTR msInterpolationMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXHEIGHT), displaybind, bindable] void maxHeight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXHEIGHT), displaybind, bindable] VARIANT maxHeight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINWIDTH), displaybind, bindable] void minWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINWIDTH), displaybind, bindable] VARIANT minWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXWIDTH), displaybind, bindable] void maxWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXWIDTH), displaybind, bindable] VARIANT maxWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CONTENT), displaybind, bindable] void content(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CONTENT), displaybind, bindable] BSTR content();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CAPTIONSIDE), displaybind, bindable] void captionSide(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CAPTIONSIDE), displaybind, bindable] BSTR captionSide();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERINCREMENT), displaybind, bindable] void counterIncrement(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERINCREMENT), displaybind, bindable] BSTR counterIncrement();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERRESET), displaybind, bindable] void counterReset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERRESET), displaybind, bindable] BSTR counterReset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINE), displaybind, bindable] void outline(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINE), displaybind, bindable] BSTR outline();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINEWIDTH), displaybind, bindable] void outlineWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINEWIDTH), displaybind, bindable] VARIANT outlineWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINESTYLE), displaybind, bindable] void outlineStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINESTYLE), displaybind, bindable] BSTR outlineStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINECOLOR), displaybind, bindable] void outlineColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINECOLOR), displaybind, bindable] VARIANT outlineColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSIZING), displaybind, bindable] void boxSizing(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSIZING), displaybind, bindable] BSTR boxSizing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSPACING), displaybind, bindable] void borderSpacing(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSPACING), displaybind, bindable] BSTR borderSpacing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ORPHANS), displaybind, bindable] void orphans(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ORPHANS), displaybind, bindable] VARIANT orphans();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDOWS), displaybind, bindable] void widows(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDOWS), displaybind, bindable] VARIANT widows();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKINSIDE), displaybind, bindable] void pageBreakInside(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKINSIDE), displaybind, bindable] BSTR pageBreakInside();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_EMPTYCELLS), displaybind, bindable] void emptyCells(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_EMPTYCELLS), displaybind, bindable] BSTR emptyCells();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSBLOCKPROGRESSION), displaybind, bindable] void msBlockProgression(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSBLOCKPROGRESSION), displaybind, bindable] BSTR msBlockProgression();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_QUOTES), displaybind, bindable] void quotes(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_QUOTES), displaybind, bindable] BSTR quotes();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ALIGNMENTBASELINE), displaybind, bindable] void alignmentBaseline(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ALIGNMENTBASELINE), displaybind, bindable] BSTR alignmentBaseline();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BASELINESHIFT), displaybind, bindable] void baselineShift(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BASELINESHIFT), displaybind, bindable] VARIANT baselineShift();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_DOMINANTBASELINE), displaybind, bindable] void dominantBaseline(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_DOMINANTBASELINE), displaybind, bindable] BSTR dominantBaseline();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZEADJUST), displaybind, bindable] void fontSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZEADJUST), displaybind, bindable] VARIANT fontSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTRETCH), displaybind, bindable] void fontStretch(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTRETCH), displaybind, bindable] BSTR fontStretch();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OPACITY), displaybind, bindable] void opacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OPACITY), displaybind, bindable] VARIANT opacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPPATH), displaybind, bindable] void clipPath(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPPATH), displaybind, bindable] BSTR clipPath();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRULE), displaybind, bindable] void clipRule(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRULE), displaybind, bindable] BSTR clipRule();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILL), displaybind, bindable] void fill(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILL), displaybind, bindable] BSTR fill();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLOPACITY), displaybind, bindable] void fillOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLOPACITY), displaybind, bindable] VARIANT fillOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLRULE), displaybind, bindable] void fillRule(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLRULE), displaybind, bindable] BSTR fillRule();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_KERNING), displaybind, bindable] void kerning(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_KERNING), displaybind, bindable] VARIANT kerning();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKER), displaybind, bindable] void marker(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKER), displaybind, bindable] BSTR marker();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKEREND), displaybind, bindable] void markerEnd(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKEREND), displaybind, bindable] BSTR markerEnd();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERMID), displaybind, bindable] void markerMid(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERMID), displaybind, bindable] BSTR markerMid();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERSTART), displaybind, bindable] void markerStart(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERSTART), displaybind, bindable] BSTR markerStart();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MASK), displaybind, bindable] void mask(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MASK), displaybind, bindable] BSTR mask();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_POINTEREVENTS), displaybind, bindable] void pointerEvents(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_POINTEREVENTS), displaybind, bindable] BSTR pointerEvents();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPCOLOR), displaybind, bindable] void stopColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPCOLOR), displaybind, bindable] VARIANT stopColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPOPACITY), displaybind, bindable] void stopOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPOPACITY), displaybind, bindable] VARIANT stopOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKE), displaybind, bindable] void stroke(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKE), displaybind, bindable] BSTR stroke();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHARRAY), displaybind, bindable] void strokeDasharray(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHARRAY), displaybind, bindable] BSTR strokeDasharray();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHOFFSET), displaybind, bindable] void strokeDashoffset(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHOFFSET), displaybind, bindable] VARIANT strokeDashoffset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINECAP), displaybind, bindable] void strokeLinecap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINECAP), displaybind, bindable] BSTR strokeLinecap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINEJOIN), displaybind, bindable] void strokeLinejoin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINEJOIN), displaybind, bindable] BSTR strokeLinejoin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEMITERLIMIT), displaybind, bindable] void strokeMiterlimit(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEMITERLIMIT), displaybind, bindable] VARIANT strokeMiterlimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEOPACITY), displaybind, bindable] void strokeOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEOPACITY), displaybind, bindable] VARIANT strokeOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEWIDTH), displaybind, bindable] void strokeWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEWIDTH), displaybind, bindable] VARIANT strokeWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTANCHOR), displaybind, bindable] void textAnchor(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTANCHOR), displaybind, bindable] BSTR textAnchor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONHORIZONTAL), displaybind, bindable] void glyphOrientationHorizontal(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONHORIZONTAL), displaybind, bindable] VARIANT glyphOrientationHorizontal();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONVERTICAL), displaybind, bindable] void glyphOrientationVertical(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONVERTICAL), displaybind, bindable] VARIANT glyphOrientationVertical();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRADIUS), displaybind, bindable] void borderRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRADIUS), displaybind, bindable] BSTR borderRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPLEFTRADIUS), displaybind, bindable] void borderTopLeftRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPLEFTRADIUS), displaybind, bindable] BSTR borderTopLeftRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPRIGHTRADIUS), displaybind, bindable] void borderTopRightRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPRIGHTRADIUS), displaybind, bindable] BSTR borderTopRightRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMRIGHTRADIUS), displaybind, bindable] void borderBottomRightRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMRIGHTRADIUS), displaybind, bindable] BSTR borderBottomRightRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMLEFTRADIUS), displaybind, bindable] void borderBottomLeftRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMLEFTRADIUS), displaybind, bindable] BSTR borderBottomLeftRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPTOP), displaybind, bindable, hidden] void clipTop(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPTOP), displaybind, bindable, hidden] VARIANT clipTop();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRIGHT), displaybind, bindable, hidden] void clipRight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRIGHT), displaybind, bindable, hidden] VARIANT clipRight();
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPBOTTOM), displaybind, bindable, hidden] VARIANT clipBottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPLEFT), displaybind, bindable, hidden] void clipLeft(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPLEFT), displaybind, bindable, hidden] VARIANT clipLeft();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSFLOAT), displaybind, bindable] void cssFloat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSFLOAT), displaybind, bindable] BSTR cssFloat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCLIP), displaybind, bindable] void backgroundClip(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCLIP), displaybind, bindable] BSTR backgroundClip();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDORIGIN), displaybind, bindable] void backgroundOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDORIGIN), displaybind, bindable] BSTR backgroundOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDSIZE), displaybind, bindable] void backgroundSize(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDSIZE), displaybind, bindable] BSTR backgroundSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSHADOW), displaybind, bindable] void boxShadow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSHADOW), displaybind, bindable] BSTR boxShadow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORM), displaybind, bindable] void msTransform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORM), displaybind, bindable] BSTR msTransform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORMORIGIN), displaybind, bindable] void msTransformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORMORIGIN), displaybind, bindable] BSTR msTransformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] void msScrollChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] BSTR msScrollChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] void msContentZooming(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] BSTR msContentZooming();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] void msContentZoomSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] BSTR msContentZoomSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] void msScrollRails(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] BSTR msScrollRails();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] void msContentZoomChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] BSTR msContentZoomChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] void msScrollSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] BSTR msScrollSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] void msContentZoomLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] BSTR msContentZoomLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] void msContentZoomSnap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] BSTR msContentZoomSnap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] void msContentZoomSnapPoints(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] BSTR msContentZoomSnapPoints();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] void msContentZoomLimitMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] VARIANT msContentZoomLimitMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] void msContentZoomLimitMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] VARIANT msContentZoomLimitMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] void msScrollSnapX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] BSTR msScrollSnapX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] void msScrollSnapY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] BSTR msScrollSnapY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] void msScrollSnapPointsX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] BSTR msScrollSnapPointsX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] void msScrollSnapPointsY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] BSTR msScrollSnapPointsY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] void msGridColumn(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] VARIANT msGridColumn();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] void msGridColumnAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] BSTR msGridColumnAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] void msGridColumns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] BSTR msGridColumns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] void msGridColumnSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] VARIANT msGridColumnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] void msGridRow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] VARIANT msGridRow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] void msGridRowAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] BSTR msGridRowAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] void msGridRows(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] BSTR msGridRows();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] void msGridRowSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] VARIANT msGridRowSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] void msWrapThrough(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] BSTR msWrapThrough();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] void msWrapMargin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] VARIANT msWrapMargin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] void msWrapFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] BSTR msWrapFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] void msAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] BSTR msAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] void msAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] BSTR msAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] void msAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR msAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] void msAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] BSTR msAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] void msAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] BSTR msAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] void msAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] BSTR msAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] void msAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR msAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] void msAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] BSTR msAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] void msAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] BSTR msAnimationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] void colorInterpolationFilters(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] BSTR colorInterpolationFilters();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] void columnCount(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] VARIANT columnCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] void columnWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] VARIANT columnWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] void columnGap(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] VARIANT columnGap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] void columnFill(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] BSTR columnFill();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] void columnSpan(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] BSTR columnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] void columns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] BSTR columns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] void columnRule(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] BSTR columnRule();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] void columnRuleColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] VARIANT columnRuleColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] void columnRuleStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] BSTR columnRuleStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] void columnRuleWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] VARIANT columnRuleWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] void breakBefore(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] BSTR breakBefore();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] void breakAfter(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] BSTR breakAfter();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] void breakInside(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] BSTR breakInside();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] void floodColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] VARIANT floodColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] void floodOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] VARIANT floodOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] void lightingColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] VARIANT lightingColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] void msScrollLimitXMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] VARIANT msScrollLimitXMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] void msScrollLimitYMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] VARIANT msScrollLimitYMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] void msScrollLimitXMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] VARIANT msScrollLimitXMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] void msScrollLimitYMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] VARIANT msScrollLimitYMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] void msScrollLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] BSTR msScrollLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] void textShadow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] BSTR textShadow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] void msFlowFrom(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] BSTR msFlowFrom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] void msFlowInto(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] BSTR msFlowInto();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] void msHyphens(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] BSTR msHyphens();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] void msHyphenateLimitZone(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] VARIANT msHyphenateLimitZone();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] void msHyphenateLimitChars(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] BSTR msHyphenateLimitChars();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] void msHyphenateLimitLines(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] VARIANT msHyphenateLimitLines();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] void msHighContrastAdjust(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] BSTR msHighContrastAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] void enableBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] BSTR enableBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] void msFontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] BSTR msFontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] void msUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] BSTR msUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] void msOverflowStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] BSTR msOverflowStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] void msTransformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] BSTR msTransformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] void msBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] BSTR msBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] void msPerspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] VARIANT msPerspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] void msPerspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] BSTR msPerspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] void msTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] BSTR msTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] void msTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] BSTR msTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] void msTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR msTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] void msTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] BSTR msTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] void msTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] BSTR msTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] void msTouchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] BSTR msTouchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] void msScrollTranslation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] BSTR msScrollTranslation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] void msFlex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] BSTR msFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] void msFlexPositive(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] VARIANT msFlexPositive();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] void msFlexNegative(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] VARIANT msFlexNegative();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] void msFlexPreferredSize(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] VARIANT msFlexPreferredSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] void msFlexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] BSTR msFlexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] void msFlexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] BSTR msFlexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] void msFlexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] BSTR msFlexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] void msFlexAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] BSTR msFlexAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] void msFlexItemAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] BSTR msFlexItemAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] void msFlexPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] BSTR msFlexPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] void msFlexLinePack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] BSTR msFlexLinePack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] void msFlexOrder(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] VARIANT msFlexOrder();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] void msTouchSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] BSTR msTouchSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] void transform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] BSTR transform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] void transformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] BSTR transformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] void transformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] BSTR transformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] void backfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] BSTR backfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] void perspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] VARIANT perspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] void perspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] BSTR perspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] void transitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] BSTR transitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] void transitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] BSTR transitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] void transitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR transitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] void transitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] BSTR transitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] void transition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] BSTR transition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] void fontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] BSTR fontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] void animationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] BSTR animationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] void animationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] BSTR animationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] void animationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR animationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] void animationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] BSTR animationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] void animationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] BSTR animationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] void animationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] BSTR animationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] void animationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR animationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] void animation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] BSTR animation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] void animationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] BSTR animationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] void flex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] BSTR flex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] void flexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] BSTR flexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] void flexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] BSTR flexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] void flexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] BSTR flexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] void flexGrow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] VARIANT flexGrow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] void flexShrink(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] VARIANT flexShrink();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] void flexBasis(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] VARIANT flexBasis();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] void justifyContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] BSTR justifyContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] void alignItems(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] BSTR alignItems();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] void alignSelf(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] BSTR alignSelf();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] void alignContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] BSTR alignContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] void borderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR borderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] void borderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] BSTR borderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] void borderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] BSTR borderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] void borderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] BSTR borderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] void borderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] BSTR borderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] void borderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] BSTR borderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] void msImeAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] BSTR msImeAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] void msTextCombineHorizontal(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] BSTR msTextCombineHorizontal();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] void touchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] BSTR touchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] void webkitAppearance(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] BSTR webkitAppearance();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] void webkitUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] BSTR webkitUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] void webkitBoxAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] BSTR webkitBoxAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] void webkitBoxOrdinalGroup(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] VARIANT webkitBoxOrdinalGroup();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] void webkitBoxPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] BSTR webkitBoxPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] void webkitBoxFlex(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] VARIANT webkitBoxFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] void webkitBoxOrient(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] BSTR webkitBoxOrient();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] void webkitBoxDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] BSTR webkitBoxDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] void webkitTransform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] BSTR webkitTransform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] void webkitBackgroundSize(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] BSTR webkitBackgroundSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] void webkitBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] BSTR webkitBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] void webkitAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] BSTR webkitAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] void webkitTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] BSTR webkitTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] void webkitAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] BSTR webkitAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] void webkitAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] BSTR webkitAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] void webkitAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] void webkitAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] BSTR webkitAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] void webkitAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR webkitAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] void webkitAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] BSTR webkitAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] void webkitAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] BSTR webkitAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] void webkitTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] BSTR webkitTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] void webkitTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] BSTR webkitTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] void webkitTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] void webkitTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] BSTR webkitTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] void webkitBackgroundAttachment(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] BSTR webkitBackgroundAttachment();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] void webkitBackgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] VARIANT webkitBackgroundColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] void webkitBackgroundClip(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] BSTR webkitBackgroundClip();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] void webkitBackgroundImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] BSTR webkitBackgroundImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] void webkitBackgroundRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] BSTR webkitBackgroundRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] void webkitBackgroundOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] BSTR webkitBackgroundOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] void webkitBackgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] BSTR webkitBackgroundPosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] void webkitBackgroundPositionX(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] VARIANT webkitBackgroundPositionX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] void webkitBackgroundPositionY(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] VARIANT webkitBackgroundPositionY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] void webkitBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] BSTR webkitBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] void webkitTransformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] BSTR webkitTransformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] void msTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] VARIANT msTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] void webkitTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] VARIANT webkitTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] void webkitBorderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR webkitBorderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] void webkitBorderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] BSTR webkitBorderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] void webkitBorderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] BSTR webkitBorderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] void webkitBorderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] BSTR webkitBorderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] void webkitBorderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] BSTR webkitBorderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] void webkitBorderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] BSTR webkitBorderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] void webkitBoxSizing(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] BSTR webkitBoxSizing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] void webkitAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] BSTR webkitAnimationFillMode();
    [id(DISPID_IHTMLSTYLEENABLED_MSGETPROPERTYENABLED)] VARIANT_BOOL msGetPropertyEnabled([in] BSTR name);
    [id(DISPID_IHTMLSTYLEENABLED_MSPUTPROPERTYENABLED)] void msPutPropertyEnabled([in] BSTR name,[in] VARIANT_BOOL b);
};
[
    noncreatable,
    uuid(30510741-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLCSSStyleDeclaration
{
    [default]           dispinterface DispHTMLCSSStyleDeclaration;
                        interface IHTMLCSSStyleDeclaration;
                        interface IHTMLCSSStyleDeclaration2;
                        interface IHTMLCSSStyleDeclaration3;
                        interface IHTMLCSSStyleDeclaration4;
                        interface IHTMLStyleEnabled;
};
cpp_quote("EXTERN_C const GUID CLSID_CCSSStyleDeclaration;")
[
    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] HRESULT backgroundPosition([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable] 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] HRESULT backgroundPosition([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), displaybind, bindable] 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] void backgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable] 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_IHTMLCSSSTYLEDECLARATION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PARENTRULE)] VARIANT parentRule();
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYVALUE)] BSTR getPropertyValue([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYPRIORITY)] BSTR getPropertyPriority([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_REMOVEPROPERTY)] BSTR removeProperty([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_SETPROPERTY)] void setProperty([in] BSTR bstrPropertyName,[in] VARIANT* pvarPropertyValue,[defaultvalue(NULL), in] VARIANT* pvarPropertyPriority);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_ITEM)] BSTR item([in] long index);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] void msScrollChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] BSTR msScrollChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] void msContentZooming(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] BSTR msContentZooming();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] void msContentZoomSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] BSTR msContentZoomSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] void msScrollRails(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] BSTR msScrollRails();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] void msContentZoomChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] BSTR msContentZoomChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] void msScrollSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] BSTR msScrollSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] void msContentZoomLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] BSTR msContentZoomLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] void msContentZoomSnap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] BSTR msContentZoomSnap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] void msContentZoomSnapPoints(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] BSTR msContentZoomSnapPoints();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] void msContentZoomLimitMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] VARIANT msContentZoomLimitMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] void msContentZoomLimitMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] VARIANT msContentZoomLimitMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] void msScrollSnapX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] BSTR msScrollSnapX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] void msScrollSnapY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] BSTR msScrollSnapY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] void msScrollSnapPointsX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] BSTR msScrollSnapPointsX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] void msScrollSnapPointsY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] BSTR msScrollSnapPointsY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] void msGridColumn(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] VARIANT msGridColumn();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] void msGridColumnAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] BSTR msGridColumnAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] void msGridColumns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] BSTR msGridColumns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] void msGridColumnSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] VARIANT msGridColumnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] void msGridRow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] VARIANT msGridRow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] void msGridRowAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] BSTR msGridRowAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] void msGridRows(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] BSTR msGridRows();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] void msGridRowSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] VARIANT msGridRowSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] void msWrapThrough(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] BSTR msWrapThrough();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] void msWrapMargin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] VARIANT msWrapMargin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] void msWrapFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] BSTR msWrapFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] void msAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] BSTR msAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] void msAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] BSTR msAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] void msAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR msAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] void msAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] BSTR msAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] void msAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] BSTR msAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] void msAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] BSTR msAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] void msAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR msAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] void msAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] BSTR msAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] void msAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] BSTR msAnimationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] void colorInterpolationFilters(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] BSTR colorInterpolationFilters();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] void columnCount(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] VARIANT columnCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] void columnWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] VARIANT columnWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] void columnGap(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] VARIANT columnGap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] void columnFill(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] BSTR columnFill();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] void columnSpan(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] BSTR columnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] void columns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] BSTR columns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] void columnRule(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] BSTR columnRule();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] void columnRuleColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] VARIANT columnRuleColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] void columnRuleStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] BSTR columnRuleStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] void columnRuleWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] VARIANT columnRuleWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] void breakBefore(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] BSTR breakBefore();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] void breakAfter(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] BSTR breakAfter();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] void breakInside(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] BSTR breakInside();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] void floodColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] VARIANT floodColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] void floodOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] VARIANT floodOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] void lightingColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] VARIANT lightingColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] void msScrollLimitXMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] VARIANT msScrollLimitXMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] void msScrollLimitYMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] VARIANT msScrollLimitYMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] void msScrollLimitXMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] VARIANT msScrollLimitXMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] void msScrollLimitYMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] VARIANT msScrollLimitYMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] void msScrollLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] BSTR msScrollLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] void textShadow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] BSTR textShadow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] void msFlowFrom(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] BSTR msFlowFrom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] void msFlowInto(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] BSTR msFlowInto();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] void msHyphens(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] BSTR msHyphens();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] void msHyphenateLimitZone(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] VARIANT msHyphenateLimitZone();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] void msHyphenateLimitChars(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] BSTR msHyphenateLimitChars();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] void msHyphenateLimitLines(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] VARIANT msHyphenateLimitLines();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] void msHighContrastAdjust(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] BSTR msHighContrastAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] void enableBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] BSTR enableBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] void msFontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] BSTR msFontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] void msUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] BSTR msUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] void msOverflowStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] BSTR msOverflowStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] void msTransformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] BSTR msTransformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] void msBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] BSTR msBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] void msPerspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] VARIANT msPerspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] void msPerspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] BSTR msPerspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] void msTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] BSTR msTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] void msTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] BSTR msTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] void msTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR msTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] void msTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] BSTR msTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] void msTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] BSTR msTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] void msTouchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] BSTR msTouchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] void msScrollTranslation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] BSTR msScrollTranslation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] void msFlex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] BSTR msFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] void msFlexPositive(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] VARIANT msFlexPositive();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] void msFlexNegative(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] VARIANT msFlexNegative();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] void msFlexPreferredSize(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] VARIANT msFlexPreferredSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] void msFlexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] BSTR msFlexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] void msFlexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] BSTR msFlexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] void msFlexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] BSTR msFlexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] void msFlexAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] BSTR msFlexAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] void msFlexItemAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] BSTR msFlexItemAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] void msFlexPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] BSTR msFlexPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] void msFlexLinePack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] BSTR msFlexLinePack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] void msFlexOrder(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] VARIANT msFlexOrder();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] void msTouchSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] BSTR msTouchSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] void transform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] BSTR transform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] void transformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] BSTR transformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] void transformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] BSTR transformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] void backfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] BSTR backfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] void perspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] VARIANT perspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] void perspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] BSTR perspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] void transitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] BSTR transitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] void transitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] BSTR transitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] void transitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR transitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] void transitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] BSTR transitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] void transition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] BSTR transition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] void fontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] BSTR fontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] void animationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] BSTR animationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] void animationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] BSTR animationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] void animationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR animationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] void animationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] BSTR animationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] void animationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] BSTR animationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] void animationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] BSTR animationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] void animationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR animationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] void animation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] BSTR animation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] void animationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] BSTR animationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] void flex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] BSTR flex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] void flexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] BSTR flexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] void flexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] BSTR flexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] void flexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] BSTR flexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] void flexGrow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] VARIANT flexGrow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] void flexShrink(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] VARIANT flexShrink();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] void flexBasis(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] VARIANT flexBasis();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] void justifyContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] BSTR justifyContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] void alignItems(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] BSTR alignItems();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] void alignSelf(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] BSTR alignSelf();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] void alignContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] BSTR alignContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] void borderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR borderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] void borderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] BSTR borderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] void borderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] BSTR borderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] void borderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] BSTR borderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] void borderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] BSTR borderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] void borderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] BSTR borderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] void msImeAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] BSTR msImeAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] void msTextCombineHorizontal(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] BSTR msTextCombineHorizontal();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] void touchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] BSTR touchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] void webkitAppearance(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] BSTR webkitAppearance();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] void webkitUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] BSTR webkitUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] void webkitBoxAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] BSTR webkitBoxAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] void webkitBoxOrdinalGroup(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] VARIANT webkitBoxOrdinalGroup();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] void webkitBoxPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] BSTR webkitBoxPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] void webkitBoxFlex(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] VARIANT webkitBoxFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] void webkitBoxOrient(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] BSTR webkitBoxOrient();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] void webkitBoxDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] BSTR webkitBoxDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] void webkitTransform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] BSTR webkitTransform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] void webkitBackgroundSize(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] BSTR webkitBackgroundSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] void webkitBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] BSTR webkitBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] void webkitAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] BSTR webkitAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] void webkitTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] BSTR webkitTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] void webkitAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] BSTR webkitAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] void webkitAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] BSTR webkitAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] void webkitAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] void webkitAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] BSTR webkitAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] void webkitAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR webkitAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] void webkitAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] BSTR webkitAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] void webkitAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] BSTR webkitAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] void webkitTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] BSTR webkitTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] void webkitTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] BSTR webkitTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] void webkitTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] void webkitTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] BSTR webkitTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] void webkitBackgroundAttachment(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] BSTR webkitBackgroundAttachment();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] void webkitBackgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] VARIANT webkitBackgroundColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] void webkitBackgroundClip(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] BSTR webkitBackgroundClip();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] void webkitBackgroundImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] BSTR webkitBackgroundImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] void webkitBackgroundRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] BSTR webkitBackgroundRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] void webkitBackgroundOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] BSTR webkitBackgroundOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] void webkitBackgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] BSTR webkitBackgroundPosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] void webkitBackgroundPositionX(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] VARIANT webkitBackgroundPositionX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] void webkitBackgroundPositionY(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] VARIANT webkitBackgroundPositionY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] void webkitBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] BSTR webkitBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] void webkitTransformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] BSTR webkitTransformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] void msTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] VARIANT msTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] void webkitTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] VARIANT webkitTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] void webkitBorderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR webkitBorderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] void webkitBorderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] BSTR webkitBorderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] void webkitBorderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] BSTR webkitBorderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] void webkitBorderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] BSTR webkitBorderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] void webkitBorderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] BSTR webkitBorderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] void webkitBorderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] BSTR webkitBorderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] void webkitBoxSizing(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] BSTR webkitBoxSizing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] void webkitAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] BSTR webkitAnimationFillMode();
    [id(DISPID_IHTMLSTYLEENABLED_MSGETPROPERTYENABLED)] VARIANT_BOOL msGetPropertyEnabled([in] BSTR name);
    [id(DISPID_IHTMLSTYLEENABLED_MSPUTPROPERTYENABLED)] void msPutPropertyEnabled([in] BSTR name,[in] VARIANT_BOOL b);
    [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 IHTMLCSSStyleDeclaration;
                        interface IHTMLCSSStyleDeclaration2;
                        interface IHTMLCSSStyleDeclaration3;
                        interface IHTMLCSSStyleDeclaration4;
                        interface IHTMLStyleEnabled;
                        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] void backgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), displaybind, bindable] 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_IHTMLCSSSTYLEDECLARATION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PARENTRULE)] VARIANT parentRule();
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYVALUE)] BSTR getPropertyValue([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYPRIORITY)] BSTR getPropertyPriority([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_REMOVEPROPERTY)] BSTR removeProperty([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_SETPROPERTY)] void setProperty([in] BSTR bstrPropertyName,[in] VARIANT* pvarPropertyValue,[defaultvalue(NULL), in] VARIANT* pvarPropertyPriority);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_ITEM)] BSTR item([in] long index);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] void msScrollChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] BSTR msScrollChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] void msContentZooming(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] BSTR msContentZooming();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] void msContentZoomSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] BSTR msContentZoomSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] void msScrollRails(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] BSTR msScrollRails();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] void msContentZoomChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] BSTR msContentZoomChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] void msScrollSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] BSTR msScrollSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] void msContentZoomLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] BSTR msContentZoomLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] void msContentZoomSnap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] BSTR msContentZoomSnap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] void msContentZoomSnapPoints(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] BSTR msContentZoomSnapPoints();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] void msContentZoomLimitMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] VARIANT msContentZoomLimitMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] void msContentZoomLimitMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] VARIANT msContentZoomLimitMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] void msScrollSnapX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] BSTR msScrollSnapX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] void msScrollSnapY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] BSTR msScrollSnapY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] void msScrollSnapPointsX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] BSTR msScrollSnapPointsX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] void msScrollSnapPointsY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] BSTR msScrollSnapPointsY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] void msGridColumn(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] VARIANT msGridColumn();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] void msGridColumnAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] BSTR msGridColumnAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] void msGridColumns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] BSTR msGridColumns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] void msGridColumnSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] VARIANT msGridColumnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] void msGridRow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] VARIANT msGridRow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] void msGridRowAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] BSTR msGridRowAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] void msGridRows(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] BSTR msGridRows();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] void msGridRowSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] VARIANT msGridRowSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] void msWrapThrough(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] BSTR msWrapThrough();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] void msWrapMargin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] VARIANT msWrapMargin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] void msWrapFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] BSTR msWrapFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] void msAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] BSTR msAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] void msAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] BSTR msAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] void msAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR msAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] void msAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] BSTR msAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] void msAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] BSTR msAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] void msAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] BSTR msAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] void msAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR msAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] void msAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] BSTR msAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] void msAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] BSTR msAnimationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] void colorInterpolationFilters(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] BSTR colorInterpolationFilters();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] void columnCount(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] VARIANT columnCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] void columnWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] VARIANT columnWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] void columnGap(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] VARIANT columnGap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] void columnFill(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] BSTR columnFill();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] void columnSpan(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] BSTR columnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] void columns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] BSTR columns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] void columnRule(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] BSTR columnRule();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] void columnRuleColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] VARIANT columnRuleColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] void columnRuleStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] BSTR columnRuleStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] void columnRuleWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] VARIANT columnRuleWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] void breakBefore(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] BSTR breakBefore();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] void breakAfter(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] BSTR breakAfter();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] void breakInside(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] BSTR breakInside();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] void floodColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] VARIANT floodColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] void floodOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] VARIANT floodOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] void lightingColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] VARIANT lightingColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] void msScrollLimitXMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] VARIANT msScrollLimitXMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] void msScrollLimitYMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] VARIANT msScrollLimitYMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] void msScrollLimitXMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] VARIANT msScrollLimitXMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] void msScrollLimitYMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] VARIANT msScrollLimitYMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] void msScrollLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] BSTR msScrollLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] void textShadow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] BSTR textShadow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] void msFlowFrom(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] BSTR msFlowFrom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] void msFlowInto(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] BSTR msFlowInto();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] void msHyphens(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] BSTR msHyphens();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] void msHyphenateLimitZone(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] VARIANT msHyphenateLimitZone();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] void msHyphenateLimitChars(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] BSTR msHyphenateLimitChars();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] void msHyphenateLimitLines(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] VARIANT msHyphenateLimitLines();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] void msHighContrastAdjust(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] BSTR msHighContrastAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] void enableBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] BSTR enableBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] void msFontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] BSTR msFontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] void msUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] BSTR msUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] void msOverflowStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] BSTR msOverflowStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] void msTransformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] BSTR msTransformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] void msBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] BSTR msBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] void msPerspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] VARIANT msPerspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] void msPerspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] BSTR msPerspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] void msTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] BSTR msTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] void msTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] BSTR msTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] void msTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR msTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] void msTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] BSTR msTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] void msTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] BSTR msTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] void msTouchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] BSTR msTouchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] void msScrollTranslation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] BSTR msScrollTranslation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] void msFlex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] BSTR msFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] void msFlexPositive(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] VARIANT msFlexPositive();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] void msFlexNegative(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] VARIANT msFlexNegative();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] void msFlexPreferredSize(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] VARIANT msFlexPreferredSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] void msFlexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] BSTR msFlexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] void msFlexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] BSTR msFlexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] void msFlexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] BSTR msFlexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] void msFlexAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] BSTR msFlexAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] void msFlexItemAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] BSTR msFlexItemAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] void msFlexPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] BSTR msFlexPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] void msFlexLinePack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] BSTR msFlexLinePack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] void msFlexOrder(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] VARIANT msFlexOrder();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] void msTouchSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] BSTR msTouchSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] void transform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] BSTR transform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] void transformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] BSTR transformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] void transformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] BSTR transformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] void backfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] BSTR backfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] void perspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] VARIANT perspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] void perspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] BSTR perspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] void transitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] BSTR transitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] void transitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] BSTR transitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] void transitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR transitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] void transitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] BSTR transitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] void transition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] BSTR transition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] void fontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] BSTR fontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] void animationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] BSTR animationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] void animationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] BSTR animationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] void animationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR animationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] void animationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] BSTR animationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] void animationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] BSTR animationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] void animationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] BSTR animationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] void animationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR animationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] void animation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] BSTR animation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] void animationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] BSTR animationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] void flex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] BSTR flex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] void flexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] BSTR flexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] void flexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] BSTR flexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] void flexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] BSTR flexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] void flexGrow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] VARIANT flexGrow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] void flexShrink(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] VARIANT flexShrink();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] void flexBasis(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] VARIANT flexBasis();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] void justifyContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] BSTR justifyContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] void alignItems(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] BSTR alignItems();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] void alignSelf(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] BSTR alignSelf();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] void alignContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] BSTR alignContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] void borderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR borderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] void borderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] BSTR borderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] void borderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] BSTR borderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] void borderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] BSTR borderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] void borderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] BSTR borderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] void borderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] BSTR borderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] void msImeAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] BSTR msImeAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] void msTextCombineHorizontal(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] BSTR msTextCombineHorizontal();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] void touchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] BSTR touchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] void webkitAppearance(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] BSTR webkitAppearance();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] void webkitUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] BSTR webkitUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] void webkitBoxAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] BSTR webkitBoxAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] void webkitBoxOrdinalGroup(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] VARIANT webkitBoxOrdinalGroup();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] void webkitBoxPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] BSTR webkitBoxPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] void webkitBoxFlex(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] VARIANT webkitBoxFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] void webkitBoxOrient(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] BSTR webkitBoxOrient();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] void webkitBoxDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] BSTR webkitBoxDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] void webkitTransform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] BSTR webkitTransform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] void webkitBackgroundSize(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] BSTR webkitBackgroundSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] void webkitBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] BSTR webkitBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] void webkitAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] BSTR webkitAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] void webkitTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] BSTR webkitTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] void webkitAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] BSTR webkitAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] void webkitAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] BSTR webkitAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] void webkitAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] void webkitAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] BSTR webkitAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] void webkitAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR webkitAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] void webkitAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] BSTR webkitAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] void webkitAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] BSTR webkitAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] void webkitTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] BSTR webkitTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] void webkitTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] BSTR webkitTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] void webkitTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] void webkitTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] BSTR webkitTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] void webkitBackgroundAttachment(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] BSTR webkitBackgroundAttachment();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] void webkitBackgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] VARIANT webkitBackgroundColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] void webkitBackgroundClip(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] BSTR webkitBackgroundClip();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] void webkitBackgroundImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] BSTR webkitBackgroundImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] void webkitBackgroundRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] BSTR webkitBackgroundRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] void webkitBackgroundOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] BSTR webkitBackgroundOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] void webkitBackgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] BSTR webkitBackgroundPosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] void webkitBackgroundPositionX(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] VARIANT webkitBackgroundPositionX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] void webkitBackgroundPositionY(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] VARIANT webkitBackgroundPositionY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] void webkitBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] BSTR webkitBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] void webkitTransformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] BSTR webkitTransformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] void msTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] VARIANT msTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] void webkitTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] VARIANT webkitTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] void webkitBorderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR webkitBorderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] void webkitBorderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] BSTR webkitBorderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] void webkitBorderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] BSTR webkitBorderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] void webkitBorderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] BSTR webkitBorderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] void webkitBorderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] BSTR webkitBorderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] void webkitBorderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] BSTR webkitBorderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] void webkitBoxSizing(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] BSTR webkitBoxSizing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] void webkitAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] BSTR webkitAnimationFillMode();
    [id(DISPID_IHTMLSTYLEENABLED_MSGETPROPERTYENABLED)] VARIANT_BOOL msGetPropertyEnabled([in] BSTR name);
    [id(DISPID_IHTMLSTYLEENABLED_MSPUTPROPERTYENABLED)] void msPutPropertyEnabled([in] BSTR name,[in] VARIANT_BOOL b);
    [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 IHTMLCSSStyleDeclaration;
                        interface IHTMLCSSStyleDeclaration2;
                        interface IHTMLCSSStyleDeclaration3;
                        interface IHTMLCSSStyleDeclaration4;
                        interface IHTMLStyleEnabled;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CRuleStyle;")
typedef enum _styleViewportSize
{
    styleViewportSizeAuto = 0,
    styleViewportSizeDeviceWidth = 1,
    styleViewportSizeDeviceHeight = 2,
    styleViewportSize_Max = 2147483647L
} styleViewportSize;

typedef enum _styleUserZoom
{
    styleUserZoomNotSet = 0,
    styleUserZoomZoom = 1,
    styleUserZoomFixed = 2,
    styleUserZoom_Max = 2147483647L
} styleUserZoom;

interface IHTMLStyleSheetRulesCollection;
interface IHTMLStyleSheet;
interface IHTMLRuleStyle;
[
    odl,
    oleautomation,
    dual,
    uuid(305106e9-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCSSRule : IDispatch
{
    [propget, id(DISPID_IHTMLCSSRULE_TYPE)] HRESULT type([retval, out] USHORT * p);
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] HRESULT cssText([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] HRESULT cssText([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] HRESULT parentRule([retval, out] IHTMLCSSRule* * p);
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106ea-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCSSImportRule : IDispatch
{
    [propget, id(DISPID_IHTMLCSSIMPORTRULE_HREF)] HRESULT href([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCSSIMPORTRULE_MEDIA)] HRESULT media([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSIMPORTRULE_MEDIA)] HRESULT media([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCSSIMPORTRULE_STYLESHEET)] HRESULT styleSheet([retval, out] IHTMLStyleSheet* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106eb-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCSSMediaRule : IDispatch
{
    [propput, id(DISPID_IHTMLCSSMEDIARULE_MEDIA)] HRESULT media([in] VARIANT v);
    [propget, id(DISPID_IHTMLCSSMEDIARULE_MEDIA)] HRESULT media([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCSSMEDIARULE_CSSRULES)] HRESULT cssRules([retval, out] IHTMLStyleSheetRulesCollection* * p);
    [id(DISPID_IHTMLCSSMEDIARULE_INSERTRULE)] HRESULT insertRule([in] BSTR bstrRule,[defaultvalue(-1), in] long lIndex,[retval, out] long* plNewIndex);
    [id(DISPID_IHTMLCSSMEDIARULE_DELETERULE)] HRESULT deleteRule([defaultvalue(-1), in] long lIndex);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510731-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCSSMediaList : IDispatch
{
    [propput, id(DISPID_IHTMLCSSMEDIALIST_MEDIATEXT)] HRESULT mediaText([in] BSTR v);
    [propget, id(DISPID_IHTMLCSSMEDIALIST_MEDIATEXT)] HRESULT mediaText([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCSSMEDIALIST_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLCSSMEDIALIST_ITEM)] HRESULT item([in] long index,[retval, out] BSTR* pbstrMedium);
    [id(DISPID_IHTMLCSSMEDIALIST_APPENDMEDIUM)] HRESULT appendMedium([in] BSTR bstrMedium);
    [id(DISPID_IHTMLCSSMEDIALIST_DELETEMEDIUM)] HRESULT deleteMedium([in] BSTR bstrMedium);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106ee-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCSSNamespaceRule : IDispatch
{
    [propget, id(DISPID_IHTMLCSSNAMESPACERULE_NAMESPACEURI)] HRESULT namespaceURI([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCSSNAMESPACERULE_PREFIX)] HRESULT prefix([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051080C-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMSCSSKeyframeRule : IDispatch
{
    [propput, id(DISPID_IHTMLMSCSSKEYFRAMERULE_KEYTEXT)] HRESULT keyText([in] BSTR v);
    [propget, id(DISPID_IHTMLMSCSSKEYFRAMERULE_KEYTEXT)] HRESULT keyText([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLMSCSSKEYFRAMERULE_STYLE), nonbrowsable] HRESULT style([retval, out] IHTMLRuleStyle* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051080D-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMSCSSKeyframesRule : IDispatch
{
    [propput, id(DISPID_IHTMLMSCSSKEYFRAMESRULE_NAME)] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLMSCSSKEYFRAMESRULE_NAME)] HRESULT name([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLMSCSSKEYFRAMESRULE_CSSRULES)] HRESULT cssRules([retval, out] IHTMLStyleSheetRulesCollection* * p);
    [id(DISPID_IHTMLMSCSSKEYFRAMESRULE_APPENDRULE)] HRESULT appendRule([in] BSTR bstrRule);
    [id(DISPID_IHTMLMSCSSKEYFRAMESRULE_DELETERULE)] HRESULT deleteRule([in] BSTR bstrKey);
    [id(DISPID_IHTMLMSCSSKEYFRAMESRULE_FINDRULE)] HRESULT findRule([in] BSTR bstrKey,[retval, out] IHTMLMSCSSKeyframeRule** ppMSKeyframeRule);
};
[
    hidden,
    uuid(3059007d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLCSSRule
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSRULE_TYPE)] USHORT type();
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] IHTMLCSSRule* parentRule();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
};
[
    noncreatable,
    uuid(305106ef-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLCSSRule
{
    [default]           dispinterface DispHTMLCSSRule;
                        interface IHTMLCSSRule;
};
cpp_quote("EXTERN_C const GUID CLSID_CCSSRule;")
[
    hidden,
    uuid(3059007e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLCSSImportRule
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSRULE_TYPE)] USHORT type();
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] IHTMLCSSRule* parentRule();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
    [propget, id(DISPID_IHTMLCSSIMPORTRULE_HREF)] BSTR href();
    [propput, id(DISPID_IHTMLCSSIMPORTRULE_MEDIA)] void media(VARIANT v);
    [propget, id(DISPID_IHTMLCSSIMPORTRULE_MEDIA)] VARIANT media();
    [propget, id(DISPID_IHTMLCSSIMPORTRULE_STYLESHEET)] IHTMLStyleSheet* styleSheet();
};
[
    noncreatable,
    uuid(305106f0-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLCSSImportRule
{
    [default]           dispinterface DispHTMLCSSImportRule;
                        interface IHTMLCSSRule;
                        interface IHTMLCSSImportRule;
};
cpp_quote("EXTERN_C const GUID CLSID_CCSSImportRule;")
[
    hidden,
    uuid(3059007f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLCSSMediaRule
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSRULE_TYPE)] USHORT type();
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] IHTMLCSSRule* parentRule();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
    [propput, id(DISPID_IHTMLCSSMEDIARULE_MEDIA)] void media(VARIANT v);
    [propget, id(DISPID_IHTMLCSSMEDIARULE_MEDIA)] VARIANT media();
    [propget, id(DISPID_IHTMLCSSMEDIARULE_CSSRULES)] IHTMLStyleSheetRulesCollection* cssRules();
    [id(DISPID_IHTMLCSSMEDIARULE_INSERTRULE)] long insertRule([in] BSTR bstrRule,[defaultvalue(-1), in] long lIndex);
    [id(DISPID_IHTMLCSSMEDIARULE_DELETERULE)] void deleteRule([defaultvalue(-1), in] long lIndex);
};
[
    noncreatable,
    uuid(305106f1-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLCSSMediaRule
{
    [default]           dispinterface DispHTMLCSSMediaRule;
                        interface IHTMLCSSRule;
                        interface IHTMLCSSMediaRule;
};
cpp_quote("EXTERN_C const GUID CLSID_CCSSMediaRule;")
[
    hidden,
    uuid(30590097-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLCSSMediaList
{
properties:
methods:
    [propput, id(DISPID_IHTMLCSSMEDIALIST_MEDIATEXT)] void mediaText(BSTR v);
    [propget, id(DISPID_IHTMLCSSMEDIALIST_MEDIATEXT)] BSTR mediaText();
    [propget, id(DISPID_IHTMLCSSMEDIALIST_LENGTH)] long length();
    [id(DISPID_IHTMLCSSMEDIALIST_ITEM)] BSTR item([in] long index);
    [id(DISPID_IHTMLCSSMEDIALIST_APPENDMEDIUM)] void appendMedium([in] BSTR bstrMedium);
    [id(DISPID_IHTMLCSSMEDIALIST_DELETEMEDIUM)] void deleteMedium([in] BSTR bstrMedium);
};
[
    noncreatable,
    uuid(30510732-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLCSSMediaList
{
    [default]           dispinterface DispHTMLCSSMediaList;
                        interface IHTMLCSSMediaList;
};
cpp_quote("EXTERN_C const GUID CLSID_CCSSMediaList;")
[
    hidden,
    uuid(30590080-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLCSSNamespaceRule
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSRULE_TYPE)] USHORT type();
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] IHTMLCSSRule* parentRule();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
    [propget, id(DISPID_IHTMLCSSNAMESPACERULE_NAMESPACEURI)] BSTR namespaceURI();
    [propget, id(DISPID_IHTMLCSSNAMESPACERULE_PREFIX)] BSTR prefix();
};
[
    noncreatable,
    uuid(305106f2-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLCSSNamespaceRule
{
    [default]           dispinterface DispHTMLCSSNamespaceRule;
                        interface IHTMLCSSRule;
                        interface IHTMLCSSNamespaceRule;
};
cpp_quote("EXTERN_C const GUID CLSID_CCSSNamespaceRule;")
[
    hidden,
    uuid(305900de-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLMSCSSKeyframeRule
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSRULE_TYPE)] USHORT type();
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] IHTMLCSSRule* parentRule();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
    [propput, id(DISPID_IHTMLMSCSSKEYFRAMERULE_KEYTEXT)] void keyText(BSTR v);
    [propget, id(DISPID_IHTMLMSCSSKEYFRAMERULE_KEYTEXT)] BSTR keyText();
    [propget, id(DISPID_IHTMLMSCSSKEYFRAMERULE_STYLE), nonbrowsable] IHTMLRuleStyle* style();
};
[
    noncreatable,
    uuid(3051080E-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLMSCSSKeyframeRule
{
    [default]           dispinterface DispHTMLMSCSSKeyframeRule;
                        interface IHTMLCSSRule;
                        interface IHTMLMSCSSKeyframeRule;
};
cpp_quote("EXTERN_C const GUID CLSID_CMSCSSKeyframeRule;")
[
    hidden,
    uuid(305900df-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLMSCSSKeyframesRule
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSRULE_TYPE)] USHORT type();
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] IHTMLCSSRule* parentRule();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
    [propput, id(DISPID_IHTMLMSCSSKEYFRAMESRULE_NAME)] void name(BSTR v);
    [propget, id(DISPID_IHTMLMSCSSKEYFRAMESRULE_NAME)] BSTR name();
    [propget, id(DISPID_IHTMLMSCSSKEYFRAMESRULE_CSSRULES)] IHTMLStyleSheetRulesCollection* cssRules();
    [id(DISPID_IHTMLMSCSSKEYFRAMESRULE_APPENDRULE)] void appendRule([in] BSTR bstrRule);
    [id(DISPID_IHTMLMSCSSKEYFRAMESRULE_DELETERULE)] void deleteRule([in] BSTR bstrKey);
    [id(DISPID_IHTMLMSCSSKEYFRAMESRULE_FINDRULE)] IHTMLMSCSSKeyframeRule* findRule([in] BSTR bstrKey);
};
[
    noncreatable,
    uuid(3051080F-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLMSCSSKeyframesRule
{
    [default]           dispinterface DispHTMLMSCSSKeyframesRule;
                        interface IHTMLCSSRule;
                        interface IHTMLMSCSSKeyframesRule;
};
cpp_quote("EXTERN_C const GUID CLSID_CMSCSSKeyframesRule;")
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_IHTMLCSSSTYLEDECLARATION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PARENTRULE)] VARIANT parentRule();
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYVALUE)] BSTR getPropertyValue([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYPRIORITY)] BSTR getPropertyPriority([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_REMOVEPROPERTY)] BSTR removeProperty([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_SETPROPERTY)] void setProperty([in] BSTR bstrPropertyName,[in] VARIANT* pvarPropertyValue,[defaultvalue(NULL), in] VARIANT* pvarPropertyPriority);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_ITEM)] BSTR item([in] long index);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] void msScrollChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] BSTR msScrollChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] void msContentZooming(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] BSTR msContentZooming();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] void msContentZoomSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] BSTR msContentZoomSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] void msScrollRails(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] BSTR msScrollRails();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] void msContentZoomChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] BSTR msContentZoomChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] void msScrollSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] BSTR msScrollSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] void msContentZoomLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] BSTR msContentZoomLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] void msContentZoomSnap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] BSTR msContentZoomSnap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] void msContentZoomSnapPoints(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] BSTR msContentZoomSnapPoints();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] void msContentZoomLimitMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] VARIANT msContentZoomLimitMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] void msContentZoomLimitMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] VARIANT msContentZoomLimitMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] void msScrollSnapX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] BSTR msScrollSnapX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] void msScrollSnapY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] BSTR msScrollSnapY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] void msScrollSnapPointsX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] BSTR msScrollSnapPointsX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] void msScrollSnapPointsY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] BSTR msScrollSnapPointsY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] void msGridColumn(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] VARIANT msGridColumn();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] void msGridColumnAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] BSTR msGridColumnAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] void msGridColumns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] BSTR msGridColumns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] void msGridColumnSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] VARIANT msGridColumnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] void msGridRow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] VARIANT msGridRow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] void msGridRowAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] BSTR msGridRowAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] void msGridRows(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] BSTR msGridRows();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] void msGridRowSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] VARIANT msGridRowSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] void msWrapThrough(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] BSTR msWrapThrough();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] void msWrapMargin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] VARIANT msWrapMargin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] void msWrapFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] BSTR msWrapFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] void msAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] BSTR msAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] void msAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] BSTR msAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] void msAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR msAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] void msAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] BSTR msAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] void msAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] BSTR msAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] void msAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] BSTR msAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] void msAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR msAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] void msAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] BSTR msAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] void msAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] BSTR msAnimationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] void colorInterpolationFilters(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] BSTR colorInterpolationFilters();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] void columnCount(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] VARIANT columnCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] void columnWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] VARIANT columnWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] void columnGap(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] VARIANT columnGap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] void columnFill(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] BSTR columnFill();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] void columnSpan(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] BSTR columnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] void columns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] BSTR columns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] void columnRule(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] BSTR columnRule();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] void columnRuleColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] VARIANT columnRuleColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] void columnRuleStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] BSTR columnRuleStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] void columnRuleWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] VARIANT columnRuleWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] void breakBefore(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] BSTR breakBefore();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] void breakAfter(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] BSTR breakAfter();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] void breakInside(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] BSTR breakInside();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] void floodColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] VARIANT floodColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] void floodOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] VARIANT floodOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] void lightingColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] VARIANT lightingColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] void msScrollLimitXMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] VARIANT msScrollLimitXMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] void msScrollLimitYMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] VARIANT msScrollLimitYMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] void msScrollLimitXMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] VARIANT msScrollLimitXMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] void msScrollLimitYMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] VARIANT msScrollLimitYMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] void msScrollLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] BSTR msScrollLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] void textShadow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] BSTR textShadow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] void msFlowFrom(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] BSTR msFlowFrom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] void msFlowInto(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] BSTR msFlowInto();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] void msHyphens(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] BSTR msHyphens();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] void msHyphenateLimitZone(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] VARIANT msHyphenateLimitZone();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] void msHyphenateLimitChars(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] BSTR msHyphenateLimitChars();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] void msHyphenateLimitLines(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] VARIANT msHyphenateLimitLines();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] void msHighContrastAdjust(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] BSTR msHighContrastAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] void enableBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] BSTR enableBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] void msFontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] BSTR msFontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] void msUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] BSTR msUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] void msOverflowStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] BSTR msOverflowStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] void msTransformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] BSTR msTransformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] void msBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] BSTR msBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] void msPerspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] VARIANT msPerspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] void msPerspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] BSTR msPerspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] void msTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] BSTR msTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] void msTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] BSTR msTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] void msTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR msTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] void msTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] BSTR msTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] void msTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] BSTR msTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] void msTouchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] BSTR msTouchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] void msScrollTranslation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] BSTR msScrollTranslation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] void msFlex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] BSTR msFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] void msFlexPositive(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] VARIANT msFlexPositive();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] void msFlexNegative(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] VARIANT msFlexNegative();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] void msFlexPreferredSize(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] VARIANT msFlexPreferredSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] void msFlexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] BSTR msFlexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] void msFlexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] BSTR msFlexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] void msFlexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] BSTR msFlexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] void msFlexAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] BSTR msFlexAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] void msFlexItemAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] BSTR msFlexItemAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] void msFlexPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] BSTR msFlexPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] void msFlexLinePack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] BSTR msFlexLinePack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] void msFlexOrder(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] VARIANT msFlexOrder();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] void msTouchSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] BSTR msTouchSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] void transform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] BSTR transform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] void transformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] BSTR transformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] void transformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] BSTR transformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] void backfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] BSTR backfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] void perspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] VARIANT perspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] void perspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] BSTR perspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] void transitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] BSTR transitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] void transitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] BSTR transitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] void transitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR transitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] void transitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] BSTR transitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] void transition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] BSTR transition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] void fontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] BSTR fontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] void animationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] BSTR animationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] void animationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] BSTR animationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] void animationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR animationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] void animationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] BSTR animationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] void animationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] BSTR animationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] void animationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] BSTR animationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] void animationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR animationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] void animation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] BSTR animation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] void animationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] BSTR animationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] void flex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] BSTR flex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] void flexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] BSTR flexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] void flexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] BSTR flexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] void flexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] BSTR flexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] void flexGrow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] VARIANT flexGrow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] void flexShrink(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] VARIANT flexShrink();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] void flexBasis(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] VARIANT flexBasis();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] void justifyContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] BSTR justifyContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] void alignItems(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] BSTR alignItems();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] void alignSelf(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] BSTR alignSelf();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] void alignContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] BSTR alignContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] void borderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR borderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] void borderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] BSTR borderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] void borderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] BSTR borderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] void borderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] BSTR borderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] void borderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] BSTR borderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] void borderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] BSTR borderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] void msImeAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] BSTR msImeAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] void msTextCombineHorizontal(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] BSTR msTextCombineHorizontal();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] void touchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] BSTR touchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] void webkitAppearance(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] BSTR webkitAppearance();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] void webkitUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] BSTR webkitUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] void webkitBoxAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] BSTR webkitBoxAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] void webkitBoxOrdinalGroup(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] VARIANT webkitBoxOrdinalGroup();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] void webkitBoxPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] BSTR webkitBoxPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] void webkitBoxFlex(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] VARIANT webkitBoxFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] void webkitBoxOrient(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] BSTR webkitBoxOrient();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] void webkitBoxDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] BSTR webkitBoxDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] void webkitTransform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] BSTR webkitTransform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] void webkitBackgroundSize(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] BSTR webkitBackgroundSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] void webkitBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] BSTR webkitBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] void webkitAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] BSTR webkitAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] void webkitTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] BSTR webkitTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] void webkitAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] BSTR webkitAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] void webkitAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] BSTR webkitAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] void webkitAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] void webkitAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] BSTR webkitAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] void webkitAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR webkitAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] void webkitAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] BSTR webkitAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] void webkitAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] BSTR webkitAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] void webkitTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] BSTR webkitTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] void webkitTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] BSTR webkitTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] void webkitTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] void webkitTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] BSTR webkitTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] void webkitBackgroundAttachment(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] BSTR webkitBackgroundAttachment();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] void webkitBackgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] VARIANT webkitBackgroundColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] void webkitBackgroundClip(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] BSTR webkitBackgroundClip();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] void webkitBackgroundImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] BSTR webkitBackgroundImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] void webkitBackgroundRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] BSTR webkitBackgroundRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] void webkitBackgroundOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] BSTR webkitBackgroundOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] void webkitBackgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] BSTR webkitBackgroundPosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] void webkitBackgroundPositionX(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] VARIANT webkitBackgroundPositionX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] void webkitBackgroundPositionY(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] VARIANT webkitBackgroundPositionY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] void webkitBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] BSTR webkitBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] void webkitTransformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] BSTR webkitTransformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] void msTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] VARIANT msTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] void webkitTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] VARIANT webkitTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] void webkitBorderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR webkitBorderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] void webkitBorderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] BSTR webkitBorderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] void webkitBorderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] BSTR webkitBorderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] void webkitBorderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] BSTR webkitBorderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] void webkitBorderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] BSTR webkitBorderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] void webkitBorderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] BSTR webkitBorderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] void webkitBoxSizing(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] BSTR webkitBoxSizing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] void webkitAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] BSTR webkitAnimationFillMode();
    [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 IHTMLCSSStyleDeclaration;
                        interface IHTMLCSSStyleDeclaration2;
                        interface IHTMLCSSStyleDeclaration3;
                        interface IHTMLCSSStyleDeclaration4;
                        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(3051076c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRect2 : IDispatch
{
    [propget, id(DISPID_IHTMLRECT2_WIDTH)] HRESULT width([retval, out] float * p);
    [propget, id(DISPID_IHTMLRECT2_HEIGHT)] HRESULT height([retval, out] float * 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;
interface IDOMDocumentType;
interface IHTMLDocument7;
[
    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(305106e0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMNode3 : IDispatch
{
    [propput, id(DISPID_IHTMLDOMNODE3_PREFIX)] HRESULT prefix([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] HRESULT prefix([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] HRESULT localName([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] HRESULT namespaceURI([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] HRESULT textContent([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] HRESULT textContent([retval, out] VARIANT * p);
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] HRESULT isEqualNode([in] IHTMLDOMNode3* otherNode,[retval, out] VARIANT_BOOL* isEqual);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] HRESULT lookupNamespaceURI([in] VARIANT* pvarPrefix,[retval, out] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] HRESULT lookupPrefix([in] VARIANT* pvarNamespaceURI,[retval, out] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] HRESULT isDefaultNamespace([in] VARIANT* pvarNamespace,[retval, out] VARIANT_BOOL* pfDefaultNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] HRESULT appendChild([in] IHTMLDOMNode* newChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] HRESULT insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] HRESULT removeChild([in] IHTMLDOMNode* oldChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] HRESULT replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] HRESULT isSameNode([in] IHTMLDOMNode3* otherNode,[retval, out] VARIANT_BOOL* isSame);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] HRESULT compareDocumentPosition([in] IHTMLDOMNode* otherNode,[retval, out] USHORT* flags);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] HRESULT isSupported([in] BSTR feature,[in] VARIANT version,[retval, out] VARIANT_BOOL* pfisSupported);
};
[
    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(305106f9-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMAttribute4 : IDispatch
{
    [propput, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_NODEVALUE)] HRESULT nodeValue([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_NODEVALUE)] HRESULT nodeValue([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_NODENAME)] HRESULT nodeName([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_NAME)] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_VALUE)] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_VALUE)] HRESULT value([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_FIRSTCHILD)] HRESULT firstChild([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_LASTCHILD)] HRESULT lastChild([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_CHILDNODES)] HRESULT childNodes([retval, out] IDispatch* * p);
    [id(DISPID_IHTMLDOMATTRIBUTE4_HASATTRIBUTES)] HRESULT hasAttributes([retval, out] VARIANT_BOOL* pfHasAttributes);
    [id(DISPID_IHTMLDOMATTRIBUTE4_IE9_HASCHILDNODES)] HRESULT hasChildNodes([retval, out] VARIANT_BOOL* fChildren);
    [id(DISPID_IHTMLDOMATTRIBUTE4_NORMALIZE)] HRESULT normalize();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_SPECIFIED)] HRESULT specified([retval, out] VARIANT_BOOL * 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(3051073e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMTextNode3 : IDispatch
{
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_SUBSTRINGDATA)] HRESULT substringData([in] long offset,[in] long Count,[retval, out] BSTR* pbstrsubString);
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_INSERTDATA)] HRESULT insertData([in] long offset,[in] BSTR bstrstring);
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_DELETEDATA)] HRESULT deleteData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_REPLACEDATA)] HRESULT replaceData([in] long offset,[in] long Count,[in] BSTR bstrstring);
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_SPLITTEXT)] HRESULT splitText([in] long offset,[retval, out] IHTMLDOMNode** pRetNode);
    [propget, id(DISPID_IHTMLDOMTEXTNODE3_WHOLETEXT)] HRESULT wholeText([retval, out] BSTR * p);
    [id(DISPID_IHTMLDOMTEXTNODE3_REPLACEWHOLETEXT)] HRESULT replaceWholeText([in] BSTR bstrText,[retval, out] IHTMLDOMNode** ppRetNode);
    [id(DISPID_IHTMLDOMTEXTNODE3_HASATTRIBUTES)] HRESULT hasAttributes([retval, out] VARIANT_BOOL* pfHasAttributes);
    [id(DISPID_IHTMLDOMTEXTNODE3_NORMALIZE)] HRESULT normalize();
};
[
    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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051073c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMImplementation2 : IDispatch
{
    [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENTTYPE)] HRESULT createDocumentType([in] BSTR bstrQualifiedName,[in] VARIANT* pvarPublicId,[in] VARIANT* pvarSystemId,[retval, out] IDOMDocumentType** newDocumentType);
    [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENT)] HRESULT createDocument([in] VARIANT* pvarNS,[in] VARIANT* pvarTagName,[in] IDOMDocumentType* pDocumentType,[retval, out] IHTMLDocument7** ppnewDocument);
    [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEHTMLDOCUMENT)] HRESULT createHTMLDocument([in] BSTR bstrTitle,[retval, out] IHTMLDocument7** ppnewDocument);
    [id(DISPID_IHTMLDOMIMPLEMENTATION2_IE9_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();
    [propput, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_NODEVALUE)] void ie9_nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_NODEVALUE)] VARIANT ie9_nodeValue();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_NODENAME)] BSTR ie9_nodeName();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_NAME)] BSTR ie9_name();
    [propput, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_VALUE)] void ie9_value(BSTR v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_VALUE)] BSTR ie9_value();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_FIRSTCHILD)] IHTMLDOMNode* ie9_firstChild();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_LASTCHILD)] IHTMLDOMNode* ie9_lastChild();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_CHILDNODES)] IDispatch* ie9_childNodes();
    [id(DISPID_IHTMLDOMATTRIBUTE4_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [id(DISPID_IHTMLDOMATTRIBUTE4_IE9_HASCHILDNODES)] VARIANT_BOOL ie9_hasChildNodes();
    [id(DISPID_IHTMLDOMATTRIBUTE4_NORMALIZE)] void normalize();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE4_IE9_SPECIFIED)] VARIANT_BOOL ie9_specified();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
};
[
    noncreatable,
    uuid(3050f4b2-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDOMAttribute
{
    [default]           dispinterface DispHTMLDOMAttribute;
                        interface IHTMLDOMAttribute;
                        interface IHTMLDOMAttribute2;
                        interface IHTMLDOMAttribute3;
                        interface IHTMLDOMAttribute4;
                        interface IHTMLDOMConstructor;
                        interface IHTMLDOMNode3;
};
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);
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_SUBSTRINGDATA)] BSTR ie9_substringData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_INSERTDATA)] void ie9_insertData([in] long offset,[in] BSTR bstrstring);
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_DELETEDATA)] void ie9_deleteData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_REPLACEDATA)] void ie9_replaceData([in] long offset,[in] long Count,[in] BSTR bstrstring);
    [id(DISPID_IHTMLDOMTEXTNODE3_IE9_SPLITTEXT)] IHTMLDOMNode* ie9_splitText([in] long offset);
    [propget, id(DISPID_IHTMLDOMTEXTNODE3_WHOLETEXT)] BSTR wholeText();
    [id(DISPID_IHTMLDOMTEXTNODE3_REPLACEWHOLETEXT)] IHTMLDOMNode* replaceWholeText([in] BSTR bstrText);
    [id(DISPID_IHTMLDOMTEXTNODE3_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [id(DISPID_IHTMLDOMTEXTNODE3_NORMALIZE)] void normalize();
    [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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)] void addEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)] void removeEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)] VARIANT_BOOL dispatchEvent([in] IDOMEvent* evt);
};
[
    noncreatable,
    uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDOMTextNode
{
    [default]           dispinterface DispHTMLDOMTextNode;
                        interface IHTMLDOMTextNode;
                        interface IHTMLDOMTextNode2;
                        interface IHTMLDOMTextNode3;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMNode3;
                        interface IHTMLDOMConstructor;
                        interface IEventTarget;
};
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);
    [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENTTYPE)] IDOMDocumentType* createDocumentType([in] BSTR bstrQualifiedName,[in] VARIANT* pvarPublicId,[in] VARIANT* pvarSystemId);
    [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEDOCUMENT)] IHTMLDocument7* createDocument([in] VARIANT* pvarNS,[in] VARIANT* pvarTagName,[in] IDOMDocumentType* pDocumentType);
    [id(DISPID_IHTMLDOMIMPLEMENTATION2_CREATEHTMLDOCUMENT)] IHTMLDocument7* createHTMLDocument([in] BSTR bstrTitle);
    [id(DISPID_IHTMLDOMIMPLEMENTATION2_IE9_HASFEATURE)] VARIANT_BOOL ie9_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 IHTMLDOMImplementation2;
                        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(305106fa-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAttributeCollection4 : IDispatch
{
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_GETNAMEDITEMNS)] HRESULT getNamedItemNS([in] VARIANT* pvarNS,[in] BSTR bstrName,[retval, out] IHTMLDOMAttribute2** ppNodeOut);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_SETNAMEDITEMNS)] HRESULT setNamedItemNS([in] IHTMLDOMAttribute2* pNodeIn,[retval, out] IHTMLDOMAttribute2** ppNodeOut);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_REMOVENAMEDITEMNS)] HRESULT removeNamedItemNS([in] VARIANT* pvarNS,[in] BSTR bstrName,[retval, out] IHTMLDOMAttribute2** ppNodeOut);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_GETNAMEDITEM)] HRESULT getNamedItem([in] BSTR bstrName,[retval, out] IHTMLDOMAttribute2** ppNodeOut);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_SETNAMEDITEM)] HRESULT setNamedItem([in] IHTMLDOMAttribute2* pNodeIn,[retval, out] IHTMLDOMAttribute2** ppNodeOut);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_REMOVENAMEDITEM)] HRESULT removeNamedItem([in] BSTR bstrName,[retval, out] IHTMLDOMAttribute2** ppNodeOut);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLDOMAttribute2** ppNodeOut);
    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510791-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMChildrenCollection2 : IDispatch
{
    [id(DISPID_IHTMLDOMCHILDRENCOLLECTION2_IE9_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();
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_GETNAMEDITEMNS)] IHTMLDOMAttribute2* getNamedItemNS([in] VARIANT* pvarNS,[in] BSTR bstrName);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_SETNAMEDITEMNS)] IHTMLDOMAttribute2* setNamedItemNS([in] IHTMLDOMAttribute2* pNodeIn);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_REMOVENAMEDITEMNS)] IHTMLDOMAttribute2* removeNamedItemNS([in] VARIANT* pvarNS,[in] BSTR bstrName);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_GETNAMEDITEM)] IHTMLDOMAttribute2* ie9_getNamedItem([in] BSTR bstrName);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_SETNAMEDITEM)] IHTMLDOMAttribute2* ie9_setNamedItem([in] IHTMLDOMAttribute2* pNodeIn);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_REMOVENAMEDITEM)] IHTMLDOMAttribute2* ie9_removeNamedItem([in] BSTR bstrName);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_ITEM)] IHTMLDOMAttribute2* ie9_item([in] long index);
    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION4_IE9_LENGTH)] long ie9_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 IHTMLAttributeCollection4;
                        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);
    [id(DISPID_IHTMLDOMCHILDRENCOLLECTION2_IE9_ITEM)] IDispatch* ie9_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 IHTMLDOMChildrenCollection2;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMChildrenCollection;")
[
    hidden,
    uuid(3051075e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLElementEvents4
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS4_ONABORT)] void onabort([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS4_ONCHANGE)] void onchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS4_ONERROR)] void onerror([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS4_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS4_ONRESET)] void onreset([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS4_ONSELECT)] void onselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS4_ONSUBMIT)] void onsubmit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS4_ONMSCONTENTZOOM)] void onmscontentzoom([in] IHTMLEventObj* pEvtObj);
};
[
    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,
    htmlInputRange = 15,
    htmlInputUrl = 16,
    htmlInputEmail = 17,
    htmlInputNumber = 18,
    htmlInputTel = 19,
    htmlInputSearch = 20,
    htmlInput_Max = 2147483647L
} htmlInput;

typedef enum _htmlSpellCheck
{
    htmlSpellCheckNotSet = 0,
    htmlSpellCheckTrue = 1,
    htmlSpellCheckFalse = 2,
    htmlSpellCheckDefault = 3,
    htmlSpellCheck_Max = 2147483647L
} htmlSpellCheck;

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;

typedef enum _htmlDraggable
{
    htmlDraggableAuto = 0,
    htmlDraggableTrue = 1,
    htmlDraggableFalse = 2,
    htmlDraggable_Max = 2147483647L
} htmlDraggable;

interface IHTMLEventObj;
interface IHTMLElementCollection;
interface IHTMLFiltersCollection;
interface IRulesAppliedCollection;
[
    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(305106f8-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElement6 : IDispatch
{
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] HRESULT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[retval, out] VARIANT* AttributeValue);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] HRESULT setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] HRESULT removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] HRESULT getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname,[retval, out] IHTMLDOMAttribute2** ppretAttribute);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] HRESULT setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr,[retval, out] IHTMLDOMAttribute2** ppretAttribute);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] HRESULT hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name,[retval, out] VARIANT_BOOL* pfHasAttribute);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] HRESULT getAttribute([in] BSTR strAttributeName,[retval, out] VARIANT* AttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] HRESULT setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] HRESULT removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] HRESULT getAttributeNode([in] BSTR strAttributeName,[retval, out] IHTMLDOMAttribute2** ppretAttribute);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] HRESULT setAttributeNode([in] IHTMLDOMAttribute2* pattr,[retval, out] IHTMLDOMAttribute2** ppretAttribute);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] HRESULT removeAttributeNode([in] IHTMLDOMAttribute2* pattr,[retval, out] IHTMLDOMAttribute2** ppretAttribute);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] HRESULT hasAttribute([in] BSTR name,[retval, out] VARIANT_BOOL* pfHasAttribute);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] HRESULT getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName,[retval, out] IHTMLElementCollection** pelColl);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] HRESULT tagName([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] HRESULT nodeName([retval, out] BSTR * p);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] HRESULT getElementsByClassName([in] BSTR v,[retval, out] IHTMLElementCollection** pel);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] HRESULT msMatchesSelector([in] BSTR v,[retval, out] VARIANT_BOOL* pfMatches);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] HRESULT onabort([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] HRESULT onabort([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] HRESULT oncanplay([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] HRESULT oncanplay([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] HRESULT oncanplaythrough([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] HRESULT oncanplaythrough([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] HRESULT onchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] HRESULT onchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] HRESULT ondurationchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] HRESULT ondurationchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] HRESULT onemptied([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] HRESULT onemptied([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] HRESULT onended([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] HRESULT onended([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] HRESULT oninput([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] HRESULT oninput([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] HRESULT onloadeddata([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] HRESULT onloadeddata([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] HRESULT onloadedmetadata([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] HRESULT onloadedmetadata([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] HRESULT onloadstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] HRESULT onloadstart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] HRESULT onpause([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] HRESULT onpause([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] HRESULT onplay([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] HRESULT onplay([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] HRESULT onplaying([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] HRESULT onplaying([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] HRESULT onprogress([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] HRESULT onprogress([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] HRESULT onratechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] HRESULT onratechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] HRESULT onreset([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] HRESULT onreset([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] HRESULT onseeked([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] HRESULT onseeked([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] HRESULT onseeking([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] HRESULT onseeking([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] HRESULT onselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] HRESULT onselect([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] HRESULT onstalled([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] HRESULT onstalled([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] HRESULT onsubmit([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] HRESULT onsubmit([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] HRESULT onsuspend([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] HRESULT onsuspend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] HRESULT ontimeupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] HRESULT ontimeupdate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] HRESULT onvolumechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] HRESULT onvolumechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] HRESULT onwaiting([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] HRESULT onwaiting([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] HRESULT hasAttributes([retval, out] VARIANT_BOOL* pfHasAttributes);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305107aa-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElement7 : IDispatch
{
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] HRESULT onmspointerdown([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] HRESULT onmspointerdown([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] HRESULT onmspointermove([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] HRESULT onmspointermove([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] HRESULT onmspointerup([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] HRESULT onmspointerup([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] HRESULT onmspointerover([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] HRESULT onmspointerover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] HRESULT onmspointerout([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] HRESULT onmspointerout([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] HRESULT onmspointercancel([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] HRESULT onmspointercancel([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] HRESULT onmspointerhover([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] HRESULT onmspointerhover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] HRESULT onmslostpointercapture([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] HRESULT onmslostpointercapture([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] HRESULT onmsgotpointercapture([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] HRESULT onmsgotpointercapture([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] HRESULT onmsgesturestart([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] HRESULT onmsgesturestart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] HRESULT onmsgesturechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] HRESULT onmsgesturechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] HRESULT onmsgestureend([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] HRESULT onmsgestureend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] HRESULT onmsgesturehold([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] HRESULT onmsgesturehold([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] HRESULT onmsgesturetap([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] HRESULT onmsgesturetap([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] HRESULT onmsgesturedoubletap([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] HRESULT onmsgesturedoubletap([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] HRESULT onmsinertiastart([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] HRESULT onmsinertiastart([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] HRESULT msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] HRESULT msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] HRESULT onmstransitionstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] HRESULT onmstransitionstart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] HRESULT onmstransitionend([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] HRESULT onmstransitionend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] HRESULT onmsanimationstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] HRESULT onmsanimationstart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] HRESULT onmsanimationend([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] HRESULT onmsanimationend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] HRESULT onmsanimationiteration([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] HRESULT onmsanimationiteration([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] HRESULT oninvalid([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] HRESULT oninvalid([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] HRESULT xmsAcceleratorKey([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] HRESULT xmsAcceleratorKey([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] HRESULT spellcheck([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] HRESULT spellcheck([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] HRESULT onmsmanipulationstatechanged([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] HRESULT onmsmanipulationstatechanged([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] HRESULT oncuechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] HRESULT oncuechange([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104bd-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElementAppliedStyles : IDispatch
{
    [id(DISPID_IHTMLELEMENTAPPLIEDSTYLES_MSGETRULESAPPLIED)] HRESULT msGetRulesApplied([retval, out] IRulesAppliedCollection** ppRulesAppliedCollection);
    [id(DISPID_IHTMLELEMENTAPPLIEDSTYLES_MSGETRULESAPPLIEDWITHANCESTOR)] HRESULT msGetRulesAppliedWithAncestor([optional, in] VARIANT varContext,[retval, out] IRulesAppliedCollection** ppRulesAppliedCollection);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510736-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementTraversal : IDispatch
{
    [propget, id(DISPID_IELEMENTTRAVERSAL_FIRSTELEMENTCHILD)] HRESULT firstElementChild([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IELEMENTTRAVERSAL_LASTELEMENTCHILD)] HRESULT lastElementChild([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IELEMENTTRAVERSAL_PREVIOUSELEMENTSIBLING)] HRESULT previousElementSibling([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IELEMENTTRAVERSAL_NEXTELEMENTSIBLING)] HRESULT nextElementSibling([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IELEMENTTRAVERSAL_CHILDELEMENTCOUNT)] HRESULT childElementCount([retval, out] long * 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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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(305104c1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetRuleApplied : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLESHEETRULEAPPLIED_MSSPECIFICITY), restricted] HRESULT msSpecificity([retval, out] long * p);
    [id(DISPID_IHTMLSTYLESHEETRULEAPPLIED_MSGETSPECIFICITY)] HRESULT msGetSpecificity([in] long index,[retval, out] long* p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106fd-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetRule2 : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLESHEETRULE2_IE9_SELECTORTEXT)] HRESULT selectorText([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEETRULE2_IE9_SELECTORTEXT)] HRESULT selectorText([retval, out] BSTR * 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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106e8-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetRulesCollection2 : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION2_IE9_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION2_IE9_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLCSSRule** ppHTMLCSSRule);
};
[
    hidden,
    uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleSheetRule
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSRULE_TYPE)] USHORT type();
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] IHTMLCSSRule* parentRule();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
    [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();
    [propput, id(DISPID_IHTMLSTYLESHEETRULE2_IE9_SELECTORTEXT)] void ie9_selectorText(BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEETRULE2_IE9_SELECTORTEXT)] BSTR ie9_selectorText();
    [propget, id(DISPID_IHTMLSTYLESHEETRULEAPPLIED_MSSPECIFICITY), restricted] long msSpecificity();
    [id(DISPID_IHTMLSTYLESHEETRULEAPPLIED_MSGETSPECIFICITY)] long msGetSpecificity([in] long index);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheetRule
{
    [default]           dispinterface DispHTMLStyleSheetRule;
                        interface IHTMLCSSRule;
                        interface IHTMLStyleSheetRule;
                        interface IHTMLStyleSheetRule2;
                        interface IHTMLStyleSheetRuleApplied;
                        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_IHTMLSTYLESHEETRULESCOLLECTION2_IE9_LENGTH)] long ie9_length();
    [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION2_IE9_ITEM)] IHTMLCSSRule* ie9_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 IHTMLStyleSheetRulesCollection2;
                        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(305106ed-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetPage2 : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLESHEETPAGE2_SELECTORTEXT)] HRESULT selectorText([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE2_SELECTORTEXT)] HRESULT selectorText([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE2_STYLE), nonbrowsable] HRESULT style([retval, out] IHTMLRuleStyle* * 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_IHTMLCSSRULE_TYPE)] USHORT type();
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] IHTMLCSSRule* parentRule();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)] BSTR selector();
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)] BSTR pseudoClass();
    [propput, id(DISPID_IHTMLSTYLESHEETPAGE2_SELECTORTEXT)] void selectorText(BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE2_SELECTORTEXT)] BSTR selectorText();
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE2_STYLE), nonbrowsable] IHTMLRuleStyle* style();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheetPage
{
    [default]           dispinterface DispHTMLStyleSheetPage;
                        interface IHTMLCSSRule;
                        interface IHTMLStyleSheetPage;
                        interface IHTMLStyleSheetPage2;
                        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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106f4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheet4 : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLESHEET4_IE9_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEET4_IE9_HREF)] HRESULT href([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLSTYLESHEET4_IE9_TITLE)] HRESULT title([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEET4_OWNERNODE)] HRESULT ownerNode([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IHTMLSTYLESHEET4_OWNERRULE)] HRESULT ownerRule([retval, out] IHTMLCSSRule* * p);
    [propget, id(DISPID_IHTMLSTYLESHEET4_CSSRULES)] HRESULT cssRules([retval, out] IHTMLStyleSheetRulesCollection* * p);
    [propget, id(DISPID_IHTMLSTYLESHEET4_IE9_MEDIA)] HRESULT media([retval, out] VARIANT * p);
    [id(DISPID_IHTMLSTYLESHEET4_INSERTRULE)] HRESULT insertRule([in] BSTR bstrRule,[defaultvalue(-1), in] long lIndex,[retval, out] long* plNewIndex);
    [id(DISPID_IHTMLSTYLESHEET4_DELETERULE)] HRESULT deleteRule([defaultvalue(-1), in] long lIndex);
};
[
    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_IHTMLSTYLESHEET4_IE9_TYPE)] BSTR ie9_type();
    [propget, id(DISPID_IHTMLSTYLESHEET4_IE9_HREF)] VARIANT ie9_href();
    [propget, id(DISPID_IHTMLSTYLESHEET4_IE9_TITLE)] BSTR ie9_title();
    [propget, id(DISPID_IHTMLSTYLESHEET4_OWNERNODE)] IHTMLElement* ownerNode();
    [propget, id(DISPID_IHTMLSTYLESHEET4_OWNERRULE)] IHTMLCSSRule* ownerRule();
    [propget, id(DISPID_IHTMLSTYLESHEET4_CSSRULES)] IHTMLStyleSheetRulesCollection* cssRules();
    [propget, id(DISPID_IHTMLSTYLESHEET4_IE9_MEDIA)] VARIANT ie9_media();
    [id(DISPID_IHTMLSTYLESHEET4_INSERTRULE)] long insertRule([in] BSTR bstrRule,[defaultvalue(-1), in] long lIndex);
    [id(DISPID_IHTMLSTYLESHEET4_DELETERULE)] void deleteRule([defaultvalue(-1), in] long lIndex);
    [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 IHTMLStyleSheet4;
                        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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106e7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetsCollection2 : IDispatch
{
    [id(DISPID_IHTMLSTYLESHEETSCOLLECTION2_IE9_ITEM)] HRESULT item([in] long index,[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);
    [id(DISPID_IHTMLSTYLESHEETSCOLLECTION2_IE9_ITEM)] VARIANT ie9_item([in] long index);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheetsCollection
{
    [default]           dispinterface DispHTMLStyleSheetsCollection;
                        interface IHTMLStyleSheetsCollection;
                        interface IHTMLStyleSheetsCollection2;
                        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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510726-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLinkElement5 : IDispatch
{
    [propget, id(DISPID_IHTMLLINKELEMENT5_SHEET)] HRESULT sheet([retval, out] IHTMLStyleSheet* * 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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [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();
    [propget, id(DISPID_IHTMLLINKELEMENT5_SHEET)] IHTMLStyleSheet* sheet();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLLinkElement;
                        interface IHTMLLinkElement2;
                        interface IHTMLLinkElement3;
                        interface IHTMLLinkElement4;
                        interface IHTMLLinkElement5;
};
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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104ae-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMRange : IDispatch
{
    [propget, id(DISPID_IHTMLDOMRANGE_STARTCONTAINER)] HRESULT startContainer([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMRANGE_STARTOFFSET)] HRESULT startOffset([retval, out] long * p);
    [propget, id(DISPID_IHTMLDOMRANGE_ENDCONTAINER)] HRESULT endContainer([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMRANGE_ENDOFFSET)] HRESULT endOffset([retval, out] long * p);
    [propget, id(DISPID_IHTMLDOMRANGE_COLLAPSED)] HRESULT collapsed([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLDOMRANGE_COMMONANCESTORCONTAINER)] HRESULT commonAncestorContainer([retval, out] IHTMLDOMNode* * p);
    [id(DISPID_IHTMLDOMRANGE_SETSTART)] HRESULT setStart([in] IDispatch* refNode,[in] long offset);
    [id(DISPID_IHTMLDOMRANGE_SETEND)] HRESULT setEnd([in] IDispatch* refNode,[in] long offset);
    [id(DISPID_IHTMLDOMRANGE_SETSTARTBEFORE)] HRESULT setStartBefore([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_SETSTARTAFTER)] HRESULT setStartAfter([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_SETENDBEFORE)] HRESULT setEndBefore([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_SETENDAFTER)] HRESULT setEndAfter([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_COLLAPSE)] HRESULT collapse([in] VARIANT_BOOL toStart);
    [id(DISPID_IHTMLDOMRANGE_SELECTNODE)] HRESULT selectNode([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_SELECTNODECONTENTS)] HRESULT selectNodeContents([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_COMPAREBOUNDARYPOINTS)] HRESULT compareBoundaryPoints([in] short how,[in] IDispatch* sourceRange,[retval, out] long* compareResult);
    [id(DISPID_IHTMLDOMRANGE_DELETECONTENTS)] HRESULT deleteContents();
    [id(DISPID_IHTMLDOMRANGE_EXTRACTCONTENTS)] HRESULT extractContents([retval, out] IDispatch** ppDocumentFragment);
    [id(DISPID_IHTMLDOMRANGE_CLONECONTENTS)] HRESULT cloneContents([retval, out] IDispatch** ppDocumentFragment);
    [id(DISPID_IHTMLDOMRANGE_INSERTNODE)] HRESULT insertNode([in] IDispatch* newNode);
    [id(DISPID_IHTMLDOMRANGE_SURROUNDCONTENTS)] HRESULT surroundContents([in] IDispatch* newParent);
    [id(DISPID_IHTMLDOMRANGE_CLONERANGE)] HRESULT cloneRange([retval, out] IHTMLDOMRange** ppClonedRange);
    [id(DISPID_IHTMLDOMRANGE_TOSTRING)] HRESULT toString([retval, out] BSTR* pRangeString);
    [id(DISPID_IHTMLDOMRANGE_DETACH)] HRESULT detach();
    [id(DISPID_IHTMLDOMRANGE_GETCLIENTRECTS)] HRESULT getClientRects([retval, out] IHTMLRectCollection** ppRectCol);
    [id(DISPID_IHTMLDOMRANGE_GETBOUNDINGCLIENTRECT)] HRESULT getBoundingClientRect([retval, out] IHTMLRect** ppRect);
};
[
    hidden,
    uuid(3050f5a3-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDOMRange
{
properties:
methods:
    [propget, id(DISPID_IHTMLDOMRANGE_STARTCONTAINER)] IHTMLDOMNode* startContainer();
    [propget, id(DISPID_IHTMLDOMRANGE_STARTOFFSET)] long startOffset();
    [propget, id(DISPID_IHTMLDOMRANGE_ENDCONTAINER)] IHTMLDOMNode* endContainer();
    [propget, id(DISPID_IHTMLDOMRANGE_ENDOFFSET)] long endOffset();
    [propget, id(DISPID_IHTMLDOMRANGE_COLLAPSED)] VARIANT_BOOL collapsed();
    [propget, id(DISPID_IHTMLDOMRANGE_COMMONANCESTORCONTAINER)] IHTMLDOMNode* commonAncestorContainer();
    [id(DISPID_IHTMLDOMRANGE_SETSTART)] void setStart([in] IDispatch* refNode,[in] long offset);
    [id(DISPID_IHTMLDOMRANGE_SETEND)] void setEnd([in] IDispatch* refNode,[in] long offset);
    [id(DISPID_IHTMLDOMRANGE_SETSTARTBEFORE)] void setStartBefore([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_SETSTARTAFTER)] void setStartAfter([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_SETENDBEFORE)] void setEndBefore([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_SETENDAFTER)] void setEndAfter([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_COLLAPSE)] void collapse([in] VARIANT_BOOL toStart);
    [id(DISPID_IHTMLDOMRANGE_SELECTNODE)] void selectNode([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_SELECTNODECONTENTS)] void selectNodeContents([in] IDispatch* refNode);
    [id(DISPID_IHTMLDOMRANGE_COMPAREBOUNDARYPOINTS)] long compareBoundaryPoints([in] short how,[in] IDispatch* sourceRange);
    [id(DISPID_IHTMLDOMRANGE_DELETECONTENTS)] void deleteContents();
    [id(DISPID_IHTMLDOMRANGE_EXTRACTCONTENTS)] IDispatch* extractContents();
    [id(DISPID_IHTMLDOMRANGE_CLONECONTENTS)] IDispatch* cloneContents();
    [id(DISPID_IHTMLDOMRANGE_INSERTNODE)] void insertNode([in] IDispatch* newNode);
    [id(DISPID_IHTMLDOMRANGE_SURROUNDCONTENTS)] void surroundContents([in] IDispatch* newParent);
    [id(DISPID_IHTMLDOMRANGE_CLONERANGE)] IHTMLDOMRange* cloneRange();
    [id(DISPID_IHTMLDOMRANGE_TOSTRING)] BSTR toString();
    [id(DISPID_IHTMLDOMRANGE_DETACH)] void detach();
    [id(DISPID_IHTMLDOMRANGE_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLDOMRANGE_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
};
[
    noncreatable,
    uuid(305106C3-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDOMRange
{
    [default]           dispinterface DispHTMLDOMRange;
                        interface IHTMLDOMRange;
};
cpp_quote("EXTERN_C const GUID CLSID_CDomRange;")
[
    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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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(305107f6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLImgElement4 : IDispatch
{
    [propget, id(DISPID_IHTMLIMGELEMENT4_NATURALWIDTH)] HRESULT naturalWidth([retval, out] long * p);
    [propget, id(DISPID_IHTMLIMGELEMENT4_NATURALHEIGHT)] HRESULT naturalHeight([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510793-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMSImgElement : IDispatch
{
    [propput, id(DISPID_IHTMLMSIMGELEMENT_MSPLAYTODISABLED), displaybind, bindable] HRESULT msPlayToDisabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSIMGELEMENT_MSPLAYTODISABLED), displaybind, bindable] HRESULT msPlayToDisabled([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLMSIMGELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] HRESULT msPlayToPrimary([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSIMGELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] HRESULT msPlayToPrimary([retval, out] VARIANT_BOOL * 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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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();
    [propget, id(DISPID_IHTMLIMGELEMENT4_NATURALWIDTH)] long naturalWidth();
    [propget, id(DISPID_IHTMLIMGELEMENT4_NATURALHEIGHT)] long naturalHeight();
    [propput, id(DISPID_IHTMLMSIMGELEMENT_MSPLAYTODISABLED), displaybind, bindable] void msPlayToDisabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSIMGELEMENT_MSPLAYTODISABLED), displaybind, bindable] VARIANT_BOOL msPlayToDisabled();
    [propput, id(DISPID_IHTMLMSIMGELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] void msPlayToPrimary(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSIMGELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] VARIANT_BOOL msPlayToPrimary();
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLImgElement;
                        interface IHTMLImgElement2;
                        interface IHTMLImgElement3;
                        interface IHTMLImgElement4;
                        interface IHTMLMSImgElement;
};
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;")
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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510795-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBodyElement4 : IDispatch
{
    [propput, id(DISPID_IHTMLBODYELEMENT4_ONMESSAGE), displaybind, bindable] HRESULT onmessage([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT4_ONMESSAGE), displaybind, bindable] HRESULT onmessage([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT4_ONSTORAGE), displaybind, bindable] HRESULT onstorage([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT4_ONSTORAGE), displaybind, bindable] HRESULT onstorage([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510822-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBodyElement5 : IDispatch
{
    [propput, id(DISPID_IHTMLBODYELEMENT5_ONPOPSTATE), displaybind, bindable] HRESULT onpopstate([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT5_ONPOPSTATE), displaybind, bindable] HRESULT onpopstate([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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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_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();
    [propput, id(DISPID_IHTMLBODYELEMENT4_ONMESSAGE), displaybind, bindable] void onmessage(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT4_ONMESSAGE), displaybind, bindable] VARIANT onmessage();
    [propput, id(DISPID_IHTMLBODYELEMENT4_ONSTORAGE), displaybind, bindable] void onstorage(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT4_ONSTORAGE), displaybind, bindable] VARIANT onstorage();
    [propput, id(DISPID_IHTMLBODYELEMENT5_ONPOPSTATE), displaybind, bindable] void onpopstate(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT5_ONPOPSTATE), displaybind, bindable] VARIANT onpopstate();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLBodyElement;
                        interface IHTMLBodyElement2;
                        interface IHTMLBodyElement3;
                        interface IHTMLBodyElement4;
                        interface IHTMLBodyElement5;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510760-98b6-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSelectElement6 : IDispatch
{
    [id(DISPID_IHTMLSELECTELEMENT6_IE9_ADD)] HRESULT add([in] IHTMLOptionElement* pElem,[in] VARIANT* pvarBefore);
    [propput, id(DISPID_IHTMLSELECTELEMENT6_IE9_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLSELECTELEMENT6_IE9_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
};
[
    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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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);
    [id(DISPID_IHTMLSELECTELEMENT6_IE9_ADD)] void ie9_add([in] IHTMLOptionElement* pElem,[in] VARIANT* pvarBefore);
    [propput, id(DISPID_IHTMLSELECTELEMENT6_IE9_VALUE), displaybind, bindable] void ie9_value(BSTR v);
    [propget, id(DISPID_IHTMLSELECTELEMENT6_IE9_VALUE), displaybind, bindable] BSTR ie9_value();
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLSelectElement;
                        interface IHTMLSelectElement2;
                        interface IHTMLSelectElement4;
                        interface IHTMLSelectElement5;
                        interface IHTMLSelectElement6;
};
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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(305104b6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSelection : IDispatch
{
    [propget, id(DISPID_IHTMLSELECTION_ANCHORNODE)] HRESULT anchorNode([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLSELECTION_ANCHOROFFSET)] HRESULT anchorOffset([retval, out] long * p);
    [propget, id(DISPID_IHTMLSELECTION_FOCUSNODE)] HRESULT focusNode([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLSELECTION_FOCUSOFFSET)] HRESULT focusOffset([retval, out] long * p);
    [propget, id(DISPID_IHTMLSELECTION_ISCOLLAPSED)] HRESULT isCollapsed([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IHTMLSELECTION_COLLAPSE)] HRESULT collapse([in] IDispatch* parentNode,[in] long offfset);
    [id(DISPID_IHTMLSELECTION_COLLAPSETOSTART)] HRESULT collapseToStart();
    [id(DISPID_IHTMLSELECTION_COLLAPSETOEND)] HRESULT collapseToEnd();
    [id(DISPID_IHTMLSELECTION_SELECTALLCHILDREN)] HRESULT selectAllChildren([in] IDispatch* parentNode);
    [id(DISPID_IHTMLSELECTION_DELETEFROMDOCUMENT)] HRESULT deleteFromDocument();
    [propget, id(DISPID_IHTMLSELECTION_RANGECOUNT)] HRESULT rangeCount([retval, out] long * p);
    [id(DISPID_IHTMLSELECTION_GETRANGEAT)] HRESULT getRangeAt([in] long index,[retval, out] IHTMLDOMRange** ppRange);
    [id(DISPID_IHTMLSELECTION_ADDRANGE)] HRESULT addRange([in] IDispatch* range);
    [id(DISPID_IHTMLSELECTION_REMOVERANGE)] HRESULT removeRange([in] IDispatch* range);
    [id(DISPID_IHTMLSELECTION_REMOVEALLRANGES)] HRESULT removeAllRanges();
    [id(DISPID_IHTMLSELECTION_TOSTRING)] HRESULT toString([retval, out] BSTR* pSelectionString);
};
[
    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(305107b4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLOptionElement4 : IDispatch
{
    [propput, id(DISPID_IHTMLOPTIONELEMENT4_IE9_VALUE)] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT4_IE9_VALUE)] HRESULT value([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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [propput, id(DISPID_IHTMLOPTIONELEMENT4_IE9_VALUE)] void ie9_value(BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT4_IE9_VALUE)] BSTR ie9_value();
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLOptionElement;
                        interface IHTMLOptionElement3;
                        interface IHTMLOptionElement4;
};
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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(3050f2d2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputTextElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT2_SELECTIONSTART)] HRESULT selectionStart([in] long v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT2_SELECTIONSTART)] HRESULT selectionStart([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT2_SELECTIONEND)] HRESULT selectionEnd([in] long v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT2_SELECTIONEND)] HRESULT selectionEnd([retval, out] long * p);
    [id(DISPID_IHTMLINPUTTEXTELEMENT2_SETSELECTIONRANGE)] HRESULT setSelectionRange([in] long start,[in] long end);
};
[
    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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2d4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputRangeElement : IDispatch
{
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_ALT), displaybind, bindable] HRESULT alt([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_ALT), displaybind, bindable] HRESULT alt([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_MIN)] HRESULT min([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_MIN)] HRESULT min([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_MAX)] HRESULT max([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_MAX)] HRESULT max([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_STEP)] HRESULT step([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_STEP)] HRESULT step([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_VALUEASNUMBER)] HRESULT valueAsNumber([in] double v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_VALUEASNUMBER)] HRESULT valueAsNumber([retval, out] double * p);
    [id(DISPID_IHTMLINPUTRANGEELEMENT_STEPUP)] HRESULT stepUp([defaultvalue(1), in] long n);
    [id(DISPID_IHTMLINPUTRANGEELEMENT_STEPDOWN)] HRESULT stepDown([defaultvalue(1), in] long n);
};
[
    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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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_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_IHTMLINPUTTEXTELEMENT2_SELECTIONSTART)] void selectionStart(long v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT2_SELECTIONSTART)] long selectionStart();
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT2_SELECTIONEND)] void selectionEnd(long v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT2_SELECTIONEND)] long selectionEnd();
    [id(DISPID_IHTMLINPUTTEXTELEMENT2_SETSELECTIONRANGE)] void setSelectionRange([in] long start,[in] long end);
    [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();
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_MIN)] void min(BSTR v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_MIN)] BSTR min();
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_MAX)] void max(BSTR v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_MAX)] BSTR max();
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_STEP)] void step(BSTR v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_STEP)] BSTR step();
    [propput, id(DISPID_IHTMLINPUTRANGEELEMENT_VALUEASNUMBER)] void valueAsNumber(double v);
    [propget, id(DISPID_IHTMLINPUTRANGEELEMENT_VALUEASNUMBER)] double valueAsNumber();
    [id(DISPID_IHTMLINPUTRANGEELEMENT_STEPUP)] void stepUp([defaultvalue(1), in] long n);
    [id(DISPID_IHTMLINPUTRANGEELEMENT_STEPDOWN)] void stepDown([defaultvalue(1), in] long n);
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLInputElement;
                        interface IHTMLInputElement2;
                        interface IHTMLInputTextElement;
                        interface IHTMLInputTextElement2;
                        interface IHTMLInputHiddenElement;
                        interface IHTMLInputButtonElement;
                        interface IHTMLInputFileElement;
                        interface IHTMLOptionButtonElement;
                        interface IHTMLInputImage;
                        interface IHTMLInputElement3;
                        interface IHTMLInputRangeElement;
};
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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2d3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTextAreaElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT2_SELECTIONSTART)] HRESULT selectionStart([in] long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT2_SELECTIONSTART)] HRESULT selectionStart([retval, out] long * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT2_SELECTIONEND)] HRESULT selectionEnd([in] long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT2_SELECTIONEND)] HRESULT selectionEnd([retval, out] long * p);
    [id(DISPID_IHTMLTEXTAREAELEMENT2_SETSELECTIONRANGE)] HRESULT setSelectionRange([in] long start,[in] long end);
};
[
    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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT2_SELECTIONSTART)] void selectionStart(long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT2_SELECTIONSTART)] long selectionStart();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT2_SELECTIONEND)] void selectionEnd(long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT2_SELECTIONEND)] long selectionEnd();
    [id(DISPID_IHTMLTEXTAREAELEMENT2_SETSELECTIONRANGE)] void setSelectionRange([in] long start,[in] long end);
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLTextAreaElement;
                        interface IHTMLTextAreaElement2;
};
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106f3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLButtonElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLBUTTONELEMENT2_IE9_TYPE)] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLBUTTONELEMENT2_IE9_TYPE)] HRESULT type([retval, out] BSTR * p);
};
[
    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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [propput, id(DISPID_IHTMLBUTTONELEMENT2_IE9_TYPE)] void ie9_type(BSTR v);
    [propget, id(DISPID_IHTMLBUTTONELEMENT2_IE9_TYPE)] BSTR ie9_type();
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLButtonElement;
                        interface IHTMLButtonElement2;
};
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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);
};
[
    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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLBaseElement;
                        interface IHTMLBaseElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CBaseElement;")
[
    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(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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLUnknownElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CUnknownElement;")
interface IWebGeolocation;
interface IHTMLMimeTypesCollection;
interface IHTMLPluginsCollection;
[
    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(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(305107cf-98b5-11cf-bb82-00aa00bdce0b)
]
interface INavigatorGeolocation : IDispatch
{
    [propget, id(DISPID_INAVIGATORGEOLOCATION_GEOLOCATION)] HRESULT geolocation([retval, out] IWebGeolocation* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510804-98b5-11cf-bb82-00aa00bdce0b)
]
interface INavigatorDoNotTrack : IDispatch
{
    [propget, id(DISPID_INAVIGATORDONOTTRACK_MSDONOTTRACK)] HRESULT msDoNotTrack([retval, out] BSTR * 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(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_INAVIGATORGEOLOCATION_GEOLOCATION)] IWebGeolocation* geolocation();
    [propget, id(DISPID_INAVIGATORDONOTTRACK_MSDONOTTRACK)] BSTR msDoNotTrack();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
]
coclass HTMLNavigator
{
    [default]           dispinterface DispHTMLNavigator;
                        interface IOmNavigator;
                        interface INavigatorGeolocation;
                        interface INavigatorDoNotTrack;
                        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(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);
};
[
    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;")
[
    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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510734-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEventObj6 : IDispatch
{
    [propget, id(DISPID_IHTMLEVENTOBJ6_ACTIONURL)] HRESULT actionURL([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ6_BUTTONID)] HRESULT buttonID([retval, out] long * 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_IHTMLEVENTOBJ6_ACTIONURL)] BSTR actionURL();
    [propget, id(DISPID_IHTMLEVENTOBJ6_BUTTONID)] long buttonID();
    [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 IHTMLEventObj6;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CEventObj;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051074b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleMedia : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLEMEDIA_TYPE)] HRESULT type([retval, out] BSTR * p);
    [id(DISPID_IHTMLSTYLEMEDIA_MATCHMEDIUM)] HRESULT matchMedium([in] BSTR mediaQuery,[retval, out] VARIANT_BOOL* matches);
};
[
    hidden,
    uuid(3059009e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleMedia
{
properties:
methods:
    [propget, id(DISPID_IHTMLSTYLEMEDIA_TYPE)] BSTR type();
    [id(DISPID_IHTMLSTYLEMEDIA_MATCHMEDIUM)] VARIANT_BOOL matchMedium([in] BSTR mediaQuery);
};
[
    noncreatable,
    uuid(3051074c-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleMedia
{
    [default]           dispinterface DispHTMLStyleMedia;
                        interface IHTMLStyleMedia;
};
cpp_quote("EXTERN_C const GUID CLSID_CStyleMedia;")
[
    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);
};
[
    noncreatable,
    uuid(3050f7f6-98b5-11cf-bb82-00aa00bdce0b)
]
coclass FramesCollection
{
    [default]           interface IHTMLFramesCollection2;
};
cpp_quote("EXTERN_C const GUID CLSID_CFramesCollection;")
[
    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;
interface IHTMLPerformance;
interface IHTMLCSSStyleDeclaration;
interface IHTMLApplicationCache;
[
    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(3051076b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLScreen4 : IDispatch
{
    [propget, id(DISPID_IHTMLSCREEN4_PIXELDEPTH)] HRESULT pixelDepth([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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104b7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLWindow7 : IDispatch
{
    [id(DISPID_IHTMLWINDOW7_GETSELECTION)] HRESULT getSelection([retval, out] IHTMLSelection** ppIHTMLSelection);
    [id(DISPID_IHTMLWINDOW7_GETCOMPUTEDSTYLE)] HRESULT getComputedStyle([in] IHTMLDOMNode* varArgIn,[defaultvalue(""), in] BSTR bstrPseudoElt,[retval, out] IHTMLCSSStyleDeclaration** ppComputedStyle);
    [propget, id(DISPID_IHTMLWINDOW7_STYLEMEDIA)] HRESULT styleMedia([retval, out] IHTMLStyleMedia* * p);
    [propput, id(DISPID_IHTMLWINDOW7_PERFORMANCE)] HRESULT performance([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_PERFORMANCE)] HRESULT performance([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLWINDOW7_INNERWIDTH)] HRESULT innerWidth([retval, out] long * p);
    [propget, id(DISPID_IHTMLWINDOW7_INNERHEIGHT)] HRESULT innerHeight([retval, out] long * p);
    [propget, id(DISPID_IHTMLWINDOW7_PAGEXOFFSET)] HRESULT pageXOffset([retval, out] long * p);
    [propget, id(DISPID_IHTMLWINDOW7_PAGEYOFFSET)] HRESULT pageYOffset([retval, out] long * p);
    [propget, id(DISPID_IHTMLWINDOW7_SCREENX)] HRESULT screenX([retval, out] long * p);
    [propget, id(DISPID_IHTMLWINDOW7_SCREENY)] HRESULT screenY([retval, out] long * p);
    [propget, id(DISPID_IHTMLWINDOW7_OUTERWIDTH)] HRESULT outerWidth([retval, out] long * p);
    [propget, id(DISPID_IHTMLWINDOW7_OUTERHEIGHT)] HRESULT outerHeight([retval, out] long * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONABORT), displaybind, bindable] HRESULT onabort([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONABORT), displaybind, bindable] HRESULT onabort([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONCANPLAY), displaybind, bindable] HRESULT oncanplay([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCANPLAY), displaybind, bindable] HRESULT oncanplay([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONCANPLAYTHROUGH), displaybind, bindable] HRESULT oncanplaythrough([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCANPLAYTHROUGH), displaybind, bindable] HRESULT oncanplaythrough([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONCHANGE), displaybind, bindable] HRESULT onchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCHANGE), displaybind, bindable] HRESULT onchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONCLICK), displaybind, bindable] HRESULT onclick([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCLICK), displaybind, bindable] HRESULT onclick([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONCONTEXTMENU), displaybind, bindable] HRESULT oncontextmenu([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCONTEXTMENU), displaybind, bindable] HRESULT oncontextmenu([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONDBLCLICK), displaybind, bindable] HRESULT ondblclick([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDBLCLICK), displaybind, bindable] HRESULT ondblclick([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAG), displaybind, bindable] HRESULT ondrag([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAG), displaybind, bindable] HRESULT ondrag([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGEND), displaybind, bindable] HRESULT ondragend([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGEND), displaybind, bindable] HRESULT ondragend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGENTER), displaybind, bindable] HRESULT ondragenter([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGENTER), displaybind, bindable] HRESULT ondragenter([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGLEAVE), displaybind, bindable] HRESULT ondragleave([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGLEAVE), displaybind, bindable] HRESULT ondragleave([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGOVER), displaybind, bindable] HRESULT ondragover([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGOVER), displaybind, bindable] HRESULT ondragover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGSTART), displaybind, bindable] HRESULT ondragstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGSTART), displaybind, bindable] HRESULT ondragstart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONDROP), displaybind, bindable] HRESULT ondrop([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDROP), displaybind, bindable] HRESULT ondrop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONDURATIONCHANGE), displaybind, bindable] HRESULT ondurationchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDURATIONCHANGE), displaybind, bindable] HRESULT ondurationchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONFOCUSIN), displaybind, bindable] HRESULT onfocusin([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONFOCUSIN), displaybind, bindable] HRESULT onfocusin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONFOCUSOUT), displaybind, bindable] HRESULT onfocusout([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONFOCUSOUT), displaybind, bindable] HRESULT onfocusout([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONINPUT), displaybind, bindable] HRESULT oninput([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONINPUT), displaybind, bindable] HRESULT oninput([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONEMPTIED), displaybind, bindable] HRESULT onemptied([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONEMPTIED), displaybind, bindable] HRESULT onemptied([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONENDED), displaybind, bindable] HRESULT onended([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONENDED), displaybind, bindable] HRESULT onended([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONKEYDOWN), displaybind, bindable] HRESULT onkeydown([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONKEYDOWN), displaybind, bindable] HRESULT onkeydown([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONKEYPRESS), displaybind, bindable] HRESULT onkeypress([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONKEYPRESS), displaybind, bindable] HRESULT onkeypress([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONKEYUP), displaybind, bindable] HRESULT onkeyup([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONKEYUP), displaybind, bindable] HRESULT onkeyup([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONLOADEDDATA), displaybind, bindable] HRESULT onloadeddata([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONLOADEDDATA), displaybind, bindable] HRESULT onloadeddata([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONLOADEDMETADATA), displaybind, bindable] HRESULT onloadedmetadata([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONLOADEDMETADATA), displaybind, bindable] HRESULT onloadedmetadata([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONLOADSTART), displaybind, bindable] HRESULT onloadstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONLOADSTART), displaybind, bindable] HRESULT onloadstart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEDOWN), displaybind, bindable] HRESULT onmousedown([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEDOWN), displaybind, bindable] HRESULT onmousedown([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEENTER), displaybind, bindable] HRESULT onmouseenter([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEENTER), displaybind, bindable] HRESULT onmouseenter([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSELEAVE), displaybind, bindable] HRESULT onmouseleave([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSELEAVE), displaybind, bindable] HRESULT onmouseleave([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEMOVE), displaybind, bindable] HRESULT onmousemove([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEMOVE), displaybind, bindable] HRESULT onmousemove([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEOUT), displaybind, bindable] HRESULT onmouseout([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEOUT), displaybind, bindable] HRESULT onmouseout([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEOVER), displaybind, bindable] HRESULT onmouseover([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEOVER), displaybind, bindable] HRESULT onmouseover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEUP), displaybind, bindable] HRESULT onmouseup([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEUP), displaybind, bindable] HRESULT onmouseup([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEWHEEL), displaybind, bindable] HRESULT onmousewheel([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEWHEEL), displaybind, bindable] HRESULT onmousewheel([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONOFFLINE), displaybind, bindable] HRESULT onoffline([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONOFFLINE), displaybind, bindable] HRESULT onoffline([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONONLINE), displaybind, bindable] HRESULT ononline([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONONLINE), displaybind, bindable] HRESULT ononline([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONPROGRESS), displaybind, bindable] HRESULT onprogress([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPROGRESS), displaybind, bindable] HRESULT onprogress([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONRATECHANGE), displaybind, bindable] HRESULT onratechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONRATECHANGE), displaybind, bindable] HRESULT onratechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONRESET), displaybind, bindable] HRESULT onreset([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONRESET), displaybind, bindable] HRESULT onreset([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONSEEKED), displaybind, bindable] HRESULT onseeked([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSEEKED), displaybind, bindable] HRESULT onseeked([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONSEEKING), displaybind, bindable] HRESULT onseeking([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSEEKING), displaybind, bindable] HRESULT onseeking([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONSELECT), displaybind, bindable] HRESULT onselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSELECT), displaybind, bindable] HRESULT onselect([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONSTALLED), displaybind, bindable] HRESULT onstalled([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSTALLED), displaybind, bindable] HRESULT onstalled([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONSTORAGE), displaybind, bindable] HRESULT onstorage([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSTORAGE), displaybind, bindable] HRESULT onstorage([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONSUBMIT), displaybind, bindable] HRESULT onsubmit([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSUBMIT), displaybind, bindable] HRESULT onsubmit([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONSUSPEND), displaybind, bindable] HRESULT onsuspend([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSUSPEND), displaybind, bindable] HRESULT onsuspend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONTIMEUPDATE), displaybind, bindable] HRESULT ontimeupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONTIMEUPDATE), displaybind, bindable] HRESULT ontimeupdate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONPAUSE), displaybind, bindable] HRESULT onpause([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPAUSE), displaybind, bindable] HRESULT onpause([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONPLAY), displaybind, bindable] HRESULT onplay([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPLAY), displaybind, bindable] HRESULT onplay([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONPLAYING), displaybind, bindable] HRESULT onplaying([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPLAYING), displaybind, bindable] HRESULT onplaying([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONVOLUMECHANGE), displaybind, bindable] HRESULT onvolumechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONVOLUMECHANGE), displaybind, bindable] HRESULT onvolumechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW7_ONWAITING), displaybind, bindable] HRESULT onwaiting([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONWAITING), displaybind, bindable] HRESULT onwaiting([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305107AB-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLWindow8 : IDispatch
{
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERDOWN), displaybind, bindable] HRESULT onmspointerdown([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERDOWN), displaybind, bindable] HRESULT onmspointerdown([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERMOVE), displaybind, bindable] HRESULT onmspointermove([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERMOVE), displaybind, bindable] HRESULT onmspointermove([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERUP), displaybind, bindable] HRESULT onmspointerup([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERUP), displaybind, bindable] HRESULT onmspointerup([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROVER), displaybind, bindable] HRESULT onmspointerover([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROVER), displaybind, bindable] HRESULT onmspointerover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROUT), displaybind, bindable] HRESULT onmspointerout([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROUT), displaybind, bindable] HRESULT onmspointerout([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERCANCEL), displaybind, bindable] HRESULT onmspointercancel([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERCANCEL), displaybind, bindable] HRESULT onmspointercancel([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERHOVER), displaybind, bindable] HRESULT onmspointerhover([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERHOVER), displaybind, bindable] HRESULT onmspointerhover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTURESTART), displaybind, bindable] HRESULT onmsgesturestart([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTURESTART), displaybind, bindable] HRESULT onmsgesturestart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTURECHANGE), displaybind, bindable] HRESULT onmsgesturechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTURECHANGE), displaybind, bindable] HRESULT onmsgesturechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTUREEND), displaybind, bindable] HRESULT onmsgestureend([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTUREEND), displaybind, bindable] HRESULT onmsgestureend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTUREHOLD), displaybind, bindable] HRESULT onmsgesturehold([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTUREHOLD), displaybind, bindable] HRESULT onmsgesturehold([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTURETAP), displaybind, bindable] HRESULT onmsgesturetap([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTURETAP), displaybind, bindable] HRESULT onmsgesturetap([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTUREDOUBLETAP), displaybind, bindable] HRESULT onmsgesturedoubletap([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTUREDOUBLETAP), displaybind, bindable] HRESULT onmsgesturedoubletap([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONMSINERTIASTART), displaybind, bindable] HRESULT onmsinertiastart([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSINERTIASTART), displaybind, bindable] HRESULT onmsinertiastart([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLWINDOW8_APPLICATIONCACHE)] HRESULT applicationCache([retval, out] IHTMLApplicationCache* * p);
    [propput, id(DISPID_IHTMLWINDOW8_ONPOPSTATE), displaybind, bindable] HRESULT onpopstate([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONPOPSTATE), displaybind, bindable] HRESULT onpopstate([retval, out] VARIANT * p);
};
[
    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_IHTMLSCREEN4_PIXELDEPTH)] long pixelDepth();
    [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 IHTMLScreen4;
                        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);
    [id(DISPID_IHTMLWINDOW7_GETSELECTION)] IHTMLSelection* getSelection();
    [id(DISPID_IHTMLWINDOW7_GETCOMPUTEDSTYLE)] IHTMLCSSStyleDeclaration* getComputedStyle([in] IHTMLDOMNode* varArgIn,[defaultvalue(""), in] BSTR bstrPseudoElt);
    [propget, id(DISPID_IHTMLWINDOW7_STYLEMEDIA)] IHTMLStyleMedia* styleMedia();
    [propput, id(DISPID_IHTMLWINDOW7_PERFORMANCE)] void performance(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_PERFORMANCE)] VARIANT performance();
    [propget, id(DISPID_IHTMLWINDOW7_INNERWIDTH)] long innerWidth();
    [propget, id(DISPID_IHTMLWINDOW7_INNERHEIGHT)] long innerHeight();
    [propget, id(DISPID_IHTMLWINDOW7_PAGEXOFFSET)] long pageXOffset();
    [propget, id(DISPID_IHTMLWINDOW7_PAGEYOFFSET)] long pageYOffset();
    [propget, id(DISPID_IHTMLWINDOW7_SCREENX)] long screenX();
    [propget, id(DISPID_IHTMLWINDOW7_SCREENY)] long screenY();
    [propget, id(DISPID_IHTMLWINDOW7_OUTERWIDTH)] long outerWidth();
    [propget, id(DISPID_IHTMLWINDOW7_OUTERHEIGHT)] long outerHeight();
    [propput, id(DISPID_IHTMLWINDOW7_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLWINDOW7_ONCANPLAY), displaybind, bindable] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCANPLAY), displaybind, bindable] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLWINDOW7_ONCANPLAYTHROUGH), displaybind, bindable] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCANPLAYTHROUGH), displaybind, bindable] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLWINDOW7_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLWINDOW7_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLWINDOW7_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [propput, id(DISPID_IHTMLWINDOW7_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [propput, id(DISPID_IHTMLWINDOW7_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLWINDOW7_ONDURATIONCHANGE), displaybind, bindable] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDURATIONCHANGE), displaybind, bindable] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLWINDOW7_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLWINDOW7_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propput, id(DISPID_IHTMLWINDOW7_ONINPUT), displaybind, bindable] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONINPUT), displaybind, bindable] VARIANT oninput();
    [propput, id(DISPID_IHTMLWINDOW7_ONEMPTIED), displaybind, bindable] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONEMPTIED), displaybind, bindable] VARIANT onemptied();
    [propput, id(DISPID_IHTMLWINDOW7_ONENDED), displaybind, bindable] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONENDED), displaybind, bindable] VARIANT onended();
    [propput, id(DISPID_IHTMLWINDOW7_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLWINDOW7_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLWINDOW7_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLWINDOW7_ONLOADEDDATA), displaybind, bindable] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONLOADEDDATA), displaybind, bindable] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLWINDOW7_ONLOADEDMETADATA), displaybind, bindable] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONLOADEDMETADATA), displaybind, bindable] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLWINDOW7_ONLOADSTART), displaybind, bindable] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONLOADSTART), displaybind, bindable] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [propput, id(DISPID_IHTMLWINDOW7_ONOFFLINE), displaybind, bindable] void onoffline(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONOFFLINE), displaybind, bindable] VARIANT onoffline();
    [propput, id(DISPID_IHTMLWINDOW7_ONONLINE), displaybind, bindable] void ononline(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONONLINE), displaybind, bindable] VARIANT ononline();
    [propput, id(DISPID_IHTMLWINDOW7_ONPROGRESS), displaybind, bindable] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPROGRESS), displaybind, bindable] VARIANT onprogress();
    [propput, id(DISPID_IHTMLWINDOW7_ONRATECHANGE), displaybind, bindable] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONRATECHANGE), displaybind, bindable] VARIANT onratechange();
    [propput, id(DISPID_IHTMLWINDOW7_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLWINDOW7_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLWINDOW7_ONSEEKED), displaybind, bindable] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSEEKED), displaybind, bindable] VARIANT onseeked();
    [propput, id(DISPID_IHTMLWINDOW7_ONSEEKING), displaybind, bindable] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSEEKING), displaybind, bindable] VARIANT onseeking();
    [propput, id(DISPID_IHTMLWINDOW7_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLWINDOW7_ONSTALLED), displaybind, bindable] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSTALLED), displaybind, bindable] VARIANT onstalled();
    [propput, id(DISPID_IHTMLWINDOW7_ONSTORAGE), displaybind, bindable] void onstorage(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSTORAGE), displaybind, bindable] VARIANT onstorage();
    [propput, id(DISPID_IHTMLWINDOW7_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLWINDOW7_ONSUSPEND), displaybind, bindable] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSUSPEND), displaybind, bindable] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLWINDOW7_ONTIMEUPDATE), displaybind, bindable] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONTIMEUPDATE), displaybind, bindable] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLWINDOW7_ONPAUSE), displaybind, bindable] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPAUSE), displaybind, bindable] VARIANT onpause();
    [propput, id(DISPID_IHTMLWINDOW7_ONPLAY), displaybind, bindable] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPLAY), displaybind, bindable] VARIANT onplay();
    [propput, id(DISPID_IHTMLWINDOW7_ONPLAYING), displaybind, bindable] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPLAYING), displaybind, bindable] VARIANT onplaying();
    [propput, id(DISPID_IHTMLWINDOW7_ONVOLUMECHANGE), displaybind, bindable] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONVOLUMECHANGE), displaybind, bindable] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLWINDOW7_ONWAITING), displaybind, bindable] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONWAITING), displaybind, bindable] VARIANT onwaiting();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERDOWN), displaybind, bindable] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERDOWN), displaybind, bindable] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERMOVE), displaybind, bindable] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERMOVE), displaybind, bindable] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERUP), displaybind, bindable] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERUP), displaybind, bindable] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROVER), displaybind, bindable] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROVER), displaybind, bindable] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROUT), displaybind, bindable] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROUT), displaybind, bindable] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERCANCEL), displaybind, bindable] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERCANCEL), displaybind, bindable] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERHOVER), displaybind, bindable] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERHOVER), displaybind, bindable] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTURESTART), displaybind, bindable] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTURESTART), displaybind, bindable] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTURECHANGE), displaybind, bindable] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTURECHANGE), displaybind, bindable] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTUREEND), displaybind, bindable] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTUREEND), displaybind, bindable] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTUREHOLD), displaybind, bindable] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTUREHOLD), displaybind, bindable] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTURETAP), displaybind, bindable] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTURETAP), displaybind, bindable] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTUREDOUBLETAP), displaybind, bindable] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTUREDOUBLETAP), displaybind, bindable] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSINERTIASTART), displaybind, bindable] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSINERTIASTART), displaybind, bindable] VARIANT onmsinertiastart();
    [propget, id(DISPID_IHTMLWINDOW8_APPLICATIONCACHE)] IHTMLApplicationCache* applicationCache();
    [propput, id(DISPID_IHTMLWINDOW8_ONPOPSTATE), displaybind, bindable] void onpopstate(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONPOPSTATE), displaybind, bindable] VARIANT onpopstate();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)] void addEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)] void removeEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)] VARIANT_BOOL dispatchEvent([in] IDOMEvent* evt);
};
[
    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 IHTMLWindow7;
                        interface IHTMLWindow8;
                        interface IHTMLDOMConstructor;
                        interface IEventTarget;
};
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);
    [id(DISPID_IHTMLWINDOW7_GETSELECTION)] IHTMLSelection* getSelection();
    [id(DISPID_IHTMLWINDOW7_GETCOMPUTEDSTYLE)] IHTMLCSSStyleDeclaration* getComputedStyle([in] IHTMLDOMNode* varArgIn,[defaultvalue(""), in] BSTR bstrPseudoElt);
    [propget, id(DISPID_IHTMLWINDOW7_STYLEMEDIA)] IHTMLStyleMedia* styleMedia();
    [propput, id(DISPID_IHTMLWINDOW7_PERFORMANCE)] void performance(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_PERFORMANCE)] VARIANT performance();
    [propget, id(DISPID_IHTMLWINDOW7_INNERWIDTH)] long innerWidth();
    [propget, id(DISPID_IHTMLWINDOW7_INNERHEIGHT)] long innerHeight();
    [propget, id(DISPID_IHTMLWINDOW7_PAGEXOFFSET)] long pageXOffset();
    [propget, id(DISPID_IHTMLWINDOW7_PAGEYOFFSET)] long pageYOffset();
    [propget, id(DISPID_IHTMLWINDOW7_SCREENX)] long screenX();
    [propget, id(DISPID_IHTMLWINDOW7_SCREENY)] long screenY();
    [propget, id(DISPID_IHTMLWINDOW7_OUTERWIDTH)] long outerWidth();
    [propget, id(DISPID_IHTMLWINDOW7_OUTERHEIGHT)] long outerHeight();
    [propput, id(DISPID_IHTMLWINDOW7_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLWINDOW7_ONCANPLAY), displaybind, bindable] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCANPLAY), displaybind, bindable] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLWINDOW7_ONCANPLAYTHROUGH), displaybind, bindable] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCANPLAYTHROUGH), displaybind, bindable] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLWINDOW7_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLWINDOW7_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLWINDOW7_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [propput, id(DISPID_IHTMLWINDOW7_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLWINDOW7_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [propput, id(DISPID_IHTMLWINDOW7_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLWINDOW7_ONDURATIONCHANGE), displaybind, bindable] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONDURATIONCHANGE), displaybind, bindable] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLWINDOW7_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLWINDOW7_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propput, id(DISPID_IHTMLWINDOW7_ONINPUT), displaybind, bindable] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONINPUT), displaybind, bindable] VARIANT oninput();
    [propput, id(DISPID_IHTMLWINDOW7_ONEMPTIED), displaybind, bindable] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONEMPTIED), displaybind, bindable] VARIANT onemptied();
    [propput, id(DISPID_IHTMLWINDOW7_ONENDED), displaybind, bindable] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONENDED), displaybind, bindable] VARIANT onended();
    [propput, id(DISPID_IHTMLWINDOW7_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLWINDOW7_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLWINDOW7_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLWINDOW7_ONLOADEDDATA), displaybind, bindable] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONLOADEDDATA), displaybind, bindable] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLWINDOW7_ONLOADEDMETADATA), displaybind, bindable] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONLOADEDMETADATA), displaybind, bindable] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLWINDOW7_ONLOADSTART), displaybind, bindable] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONLOADSTART), displaybind, bindable] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propput, id(DISPID_IHTMLWINDOW7_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [propput, id(DISPID_IHTMLWINDOW7_ONOFFLINE), displaybind, bindable] void onoffline(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONOFFLINE), displaybind, bindable] VARIANT onoffline();
    [propput, id(DISPID_IHTMLWINDOW7_ONONLINE), displaybind, bindable] void ononline(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONONLINE), displaybind, bindable] VARIANT ononline();
    [propput, id(DISPID_IHTMLWINDOW7_ONPROGRESS), displaybind, bindable] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPROGRESS), displaybind, bindable] VARIANT onprogress();
    [propput, id(DISPID_IHTMLWINDOW7_ONRATECHANGE), displaybind, bindable] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONRATECHANGE), displaybind, bindable] VARIANT onratechange();
    [propput, id(DISPID_IHTMLWINDOW7_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLWINDOW7_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLWINDOW7_ONSEEKED), displaybind, bindable] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSEEKED), displaybind, bindable] VARIANT onseeked();
    [propput, id(DISPID_IHTMLWINDOW7_ONSEEKING), displaybind, bindable] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSEEKING), displaybind, bindable] VARIANT onseeking();
    [propput, id(DISPID_IHTMLWINDOW7_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLWINDOW7_ONSTALLED), displaybind, bindable] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSTALLED), displaybind, bindable] VARIANT onstalled();
    [propput, id(DISPID_IHTMLWINDOW7_ONSTORAGE), displaybind, bindable] void onstorage(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSTORAGE), displaybind, bindable] VARIANT onstorage();
    [propput, id(DISPID_IHTMLWINDOW7_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLWINDOW7_ONSUSPEND), displaybind, bindable] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONSUSPEND), displaybind, bindable] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLWINDOW7_ONTIMEUPDATE), displaybind, bindable] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONTIMEUPDATE), displaybind, bindable] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLWINDOW7_ONPAUSE), displaybind, bindable] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPAUSE), displaybind, bindable] VARIANT onpause();
    [propput, id(DISPID_IHTMLWINDOW7_ONPLAY), displaybind, bindable] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPLAY), displaybind, bindable] VARIANT onplay();
    [propput, id(DISPID_IHTMLWINDOW7_ONPLAYING), displaybind, bindable] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONPLAYING), displaybind, bindable] VARIANT onplaying();
    [propput, id(DISPID_IHTMLWINDOW7_ONVOLUMECHANGE), displaybind, bindable] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONVOLUMECHANGE), displaybind, bindable] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLWINDOW7_ONWAITING), displaybind, bindable] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW7_ONWAITING), displaybind, bindable] VARIANT onwaiting();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERDOWN), displaybind, bindable] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERDOWN), displaybind, bindable] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERMOVE), displaybind, bindable] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERMOVE), displaybind, bindable] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERUP), displaybind, bindable] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERUP), displaybind, bindable] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROVER), displaybind, bindable] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROVER), displaybind, bindable] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROUT), displaybind, bindable] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTEROUT), displaybind, bindable] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERCANCEL), displaybind, bindable] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERCANCEL), displaybind, bindable] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSPOINTERHOVER), displaybind, bindable] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSPOINTERHOVER), displaybind, bindable] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTURESTART), displaybind, bindable] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTURESTART), displaybind, bindable] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTURECHANGE), displaybind, bindable] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTURECHANGE), displaybind, bindable] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTUREEND), displaybind, bindable] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTUREEND), displaybind, bindable] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTUREHOLD), displaybind, bindable] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTUREHOLD), displaybind, bindable] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTURETAP), displaybind, bindable] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTURETAP), displaybind, bindable] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSGESTUREDOUBLETAP), displaybind, bindable] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSGESTUREDOUBLETAP), displaybind, bindable] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLWINDOW8_ONMSINERTIASTART), displaybind, bindable] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONMSINERTIASTART), displaybind, bindable] VARIANT onmsinertiastart();
    [propget, id(DISPID_IHTMLWINDOW8_APPLICATIONCACHE)] IHTMLApplicationCache* applicationCache();
    [propput, id(DISPID_IHTMLWINDOW8_ONPOPSTATE), displaybind, bindable] void onpopstate(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW8_ONPOPSTATE), displaybind, bindable] VARIANT onpopstate();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)] void addEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)] void removeEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)] VARIANT_BOOL dispatchEvent([in] IDOMEvent* evt);
};
[
    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 IHTMLWindow7;
                        interface IHTMLWindow8;
                        interface IHTMLDOMConstructor;
                        interface IEventTarget;
};
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(30510737-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLDocumentEvents4
{
properties:
methods:
    [id(DISPID_HTMLDOCUMENTEVENTS4_ONMSTHUMBNAILCLICK)] void onmsthumbnailclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS4_ONMSSITEMODEJUMPLISTITEMREMOVED)] void onmssitemodejumplistitemremoved([in] IHTMLEventObj* pEvtObj);
};
[
    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;

interface ISVGSVGElement;
interface IDOMNodeIterator;
interface IDOMTreeWalker;
interface IDOMProcessingInstruction;
[
    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(305104b8-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDocument7 : IDispatch
{
    [propget, id(DISPID_IHTMLDOCUMENT7_DEFAULTVIEW)] HRESULT defaultView([retval, out] IHTMLWindow2* * p);
    [id(DISPID_IHTMLDOCUMENT7_CREATECDATASECTION)] HRESULT createCDATASection([in] BSTR text,[retval, out] IHTMLDOMNode** newCDATASectionNode);
    [id(DISPID_IHTMLDOCUMENT7_GETSELECTION)] HRESULT getSelection([retval, out] IHTMLSelection** ppIHTMLSelection);
    [id(DISPID_IHTMLDOCUMENT7_GETELEMENTSBYTAGNAMENS)] HRESULT getElementsByTagNameNS([in] VARIANT* pvarNS,[in] BSTR bstrLocalName,[retval, out] IHTMLElementCollection** pelColl);
    [id(DISPID_IHTMLDOCUMENT7_CREATEELEMENTNS)] HRESULT createElementNS([in] VARIANT* pvarNS,[in] BSTR bstrTag,[retval, out] IHTMLElement** newElem);
    [id(DISPID_IHTMLDOCUMENT7_CREATEATTRIBUTENS)] HRESULT createAttributeNS([in] VARIANT* pvarNS,[in] BSTR bstrAttrName,[retval, out] IHTMLDOMAttribute** ppAttribute);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONMSTHUMBNAILCLICK), displaybind, bindable] HRESULT onmsthumbnailclick([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONMSTHUMBNAILCLICK), displaybind, bindable] HRESULT onmsthumbnailclick([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOCUMENT7_CHARACTERSET)] HRESULT characterSet([retval, out] BSTR * p);
    [id(DISPID_IHTMLDOCUMENT7_IE9_CREATEELEMENT)] HRESULT createElement([in] BSTR bstrTag,[retval, out] IHTMLElement** newElem);
    [id(DISPID_IHTMLDOCUMENT7_IE9_CREATEATTRIBUTE)] HRESULT createAttribute([in] BSTR bstrAttrName,[retval, out] IHTMLDOMAttribute** ppAttribute);
    [id(DISPID_IHTMLDOCUMENT7_GETELEMENTSBYCLASSNAME)] HRESULT getElementsByClassName([in] BSTR v,[retval, out] IHTMLElementCollection** pel);
    [id(DISPID_IHTMLDOCUMENT7_CREATEPROCESSINGINSTRUCTION)] HRESULT createProcessingInstruction([in] BSTR bstrTarget,[in] BSTR bstrData,[retval, out] IDOMProcessingInstruction** newProcessingInstruction);
    [id(DISPID_IHTMLDOCUMENT7_ADOPTNODE)] HRESULT adoptNode([in] IHTMLDOMNode* pNodeSource,[retval, out] IHTMLDOMNode3** ppNodeDest);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONMSSITEMODEJUMPLISTITEMREMOVED), displaybind, bindable] HRESULT onmssitemodejumplistitemremoved([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONMSSITEMODEJUMPLISTITEMREMOVED), displaybind, bindable] HRESULT onmssitemodejumplistitemremoved([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOCUMENT7_IE9_ALL)] HRESULT all([retval, out] IHTMLElementCollection* * p);
    [propget, id(DISPID_IHTMLDOCUMENT7_INPUTENCODING)] HRESULT inputEncoding([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT7_XMLENCODING)] HRESULT xmlEncoding([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_XMLSTANDALONE)] HRESULT xmlStandalone([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT7_XMLSTANDALONE)] HRESULT xmlStandalone([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_XMLVERSION)] HRESULT xmlVersion([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT7_XMLVERSION)] HRESULT xmlVersion([retval, out] BSTR * p);
    [id(DISPID_IHTMLDOCUMENT7_HASATTRIBUTES)] HRESULT hasAttributes([retval, out] VARIANT_BOOL* pfHasAttributes);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONABORT), displaybind, bindable] HRESULT onabort([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONABORT), displaybind, bindable] HRESULT onabort([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONBLUR), displaybind, bindable] HRESULT onblur([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONBLUR), displaybind, bindable] HRESULT onblur([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONCANPLAY), displaybind, bindable] HRESULT oncanplay([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONCANPLAY), displaybind, bindable] HRESULT oncanplay([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONCANPLAYTHROUGH), displaybind, bindable] HRESULT oncanplaythrough([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONCANPLAYTHROUGH), displaybind, bindable] HRESULT oncanplaythrough([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONCHANGE), displaybind, bindable] HRESULT onchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONCHANGE), displaybind, bindable] HRESULT onchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAG), displaybind, bindable] HRESULT ondrag([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAG), displaybind, bindable] HRESULT ondrag([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGEND), displaybind, bindable] HRESULT ondragend([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGEND), displaybind, bindable] HRESULT ondragend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGENTER), displaybind, bindable] HRESULT ondragenter([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGENTER), displaybind, bindable] HRESULT ondragenter([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGLEAVE), displaybind, bindable] HRESULT ondragleave([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGLEAVE), displaybind, bindable] HRESULT ondragleave([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGOVER), displaybind, bindable] HRESULT ondragover([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGOVER), displaybind, bindable] HRESULT ondragover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDROP), displaybind, bindable] HRESULT ondrop([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDROP), displaybind, bindable] HRESULT ondrop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDURATIONCHANGE), displaybind, bindable] HRESULT ondurationchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDURATIONCHANGE), displaybind, bindable] HRESULT ondurationchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONEMPTIED), displaybind, bindable] HRESULT onemptied([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONEMPTIED), displaybind, bindable] HRESULT onemptied([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONENDED), displaybind, bindable] HRESULT onended([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONENDED), displaybind, bindable] HRESULT onended([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONFOCUS), displaybind, bindable] HRESULT onfocus([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONFOCUS), displaybind, bindable] HRESULT onfocus([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONINPUT), displaybind, bindable] HRESULT oninput([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONINPUT), displaybind, bindable] HRESULT oninput([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOADEDDATA), displaybind, bindable] HRESULT onloadeddata([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOADEDDATA), displaybind, bindable] HRESULT onloadeddata([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOADEDMETADATA), displaybind, bindable] HRESULT onloadedmetadata([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOADEDMETADATA), displaybind, bindable] HRESULT onloadedmetadata([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOADSTART), displaybind, bindable] HRESULT onloadstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOADSTART), displaybind, bindable] HRESULT onloadstart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONPAUSE), displaybind, bindable] HRESULT onpause([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONPAUSE), displaybind, bindable] HRESULT onpause([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONPLAY), displaybind, bindable] HRESULT onplay([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONPLAY), displaybind, bindable] HRESULT onplay([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONPLAYING), displaybind, bindable] HRESULT onplaying([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONPLAYING), displaybind, bindable] HRESULT onplaying([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONPROGRESS), displaybind, bindable] HRESULT onprogress([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONPROGRESS), displaybind, bindable] HRESULT onprogress([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONRATECHANGE), displaybind, bindable] HRESULT onratechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONRATECHANGE), displaybind, bindable] HRESULT onratechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONRESET), displaybind, bindable] HRESULT onreset([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONRESET), displaybind, bindable] HRESULT onreset([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSCROLL), displaybind, bindable] HRESULT onscroll([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSCROLL), displaybind, bindable] HRESULT onscroll([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSEEKED), displaybind, bindable] HRESULT onseeked([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSEEKED), displaybind, bindable] HRESULT onseeked([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSEEKING), displaybind, bindable] HRESULT onseeking([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSEEKING), displaybind, bindable] HRESULT onseeking([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSELECT), displaybind, bindable] HRESULT onselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSELECT), displaybind, bindable] HRESULT onselect([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSTALLED), displaybind, bindable] HRESULT onstalled([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSTALLED), displaybind, bindable] HRESULT onstalled([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSUBMIT), displaybind, bindable] HRESULT onsubmit([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSUBMIT), displaybind, bindable] HRESULT onsubmit([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSUSPEND), displaybind, bindable] HRESULT onsuspend([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSUSPEND), displaybind, bindable] HRESULT onsuspend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONTIMEUPDATE), displaybind, bindable] HRESULT ontimeupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONTIMEUPDATE), displaybind, bindable] HRESULT ontimeupdate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONVOLUMECHANGE), displaybind, bindable] HRESULT onvolumechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONVOLUMECHANGE), displaybind, bindable] HRESULT onvolumechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONWAITING), displaybind, bindable] HRESULT onwaiting([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONWAITING), displaybind, bindable] HRESULT onwaiting([retval, out] VARIANT * p);
    [id(DISPID_IHTMLDOCUMENT7_NORMALIZE)] HRESULT normalize();
    [id(DISPID_IHTMLDOCUMENT7_IMPORTNODE)] HRESULT importNode([in] IHTMLDOMNode* pNodeSource,[in] VARIANT_BOOL fDeep,[retval, out] IHTMLDOMNode3** ppNodeDest);
    [propget, id(DISPID_IHTMLDOCUMENT7_IE9_PARENTWINDOW)] HRESULT parentWindow([retval, out] IHTMLWindow2* * p);
    [propputref, id(DISPID_IHTMLDOCUMENT7_IE9_BODY)] HRESULT body([in] IHTMLElement* v);
    [propget, id(DISPID_IHTMLDOCUMENT7_IE9_BODY)] HRESULT body([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IHTMLDOCUMENT7_HEAD)] HRESULT head([retval, out] IHTMLElement* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305107d0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDocument8 : IDispatch
{
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSCONTENTZOOM), displaybind, bindable] HRESULT onmscontentzoom([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSCONTENTZOOM), displaybind, bindable] HRESULT onmscontentzoom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERDOWN), displaybind, bindable] HRESULT onmspointerdown([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERDOWN), displaybind, bindable] HRESULT onmspointerdown([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERMOVE), displaybind, bindable] HRESULT onmspointermove([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERMOVE), displaybind, bindable] HRESULT onmspointermove([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERUP), displaybind, bindable] HRESULT onmspointerup([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERUP), displaybind, bindable] HRESULT onmspointerup([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTEROVER), displaybind, bindable] HRESULT onmspointerover([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTEROVER), displaybind, bindable] HRESULT onmspointerover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTEROUT), displaybind, bindable] HRESULT onmspointerout([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTEROUT), displaybind, bindable] HRESULT onmspointerout([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERCANCEL), displaybind, bindable] HRESULT onmspointercancel([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERCANCEL), displaybind, bindable] HRESULT onmspointercancel([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERHOVER), displaybind, bindable] HRESULT onmspointerhover([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERHOVER), displaybind, bindable] HRESULT onmspointerhover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURESTART), displaybind, bindable] HRESULT onmsgesturestart([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURESTART), displaybind, bindable] HRESULT onmsgesturestart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURECHANGE), displaybind, bindable] HRESULT onmsgesturechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURECHANGE), displaybind, bindable] HRESULT onmsgesturechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREEND), displaybind, bindable] HRESULT onmsgestureend([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREEND), displaybind, bindable] HRESULT onmsgestureend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREHOLD), displaybind, bindable] HRESULT onmsgesturehold([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREHOLD), displaybind, bindable] HRESULT onmsgesturehold([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURETAP), displaybind, bindable] HRESULT onmsgesturetap([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURETAP), displaybind, bindable] HRESULT onmsgesturetap([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREDOUBLETAP), displaybind, bindable] HRESULT onmsgesturedoubletap([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREDOUBLETAP), displaybind, bindable] HRESULT onmsgesturedoubletap([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSINERTIASTART), displaybind, bindable] HRESULT onmsinertiastart([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSINERTIASTART), displaybind, bindable] HRESULT onmsinertiastart([retval, out] VARIANT * p);
    [id(DISPID_IHTMLDOCUMENT8_ELEMENTSFROMPOINT)] HRESULT elementsFromPoint([in] float x,[in] float y,[retval, out] IHTMLDOMChildrenCollection** elementsHit);
    [id(DISPID_IHTMLDOCUMENT8_ELEMENTSFROMRECT)] HRESULT elementsFromRect([in] float left,[in] float top,[in] float width,[in] float height,[retval, out] IHTMLDOMChildrenCollection** elementsHit);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable] HRESULT onmsmanipulationstatechanged([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable] HRESULT onmsmanipulationstatechanged([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT8_MSCAPSLOCKWARNINGOFF)] HRESULT msCapsLockWarningOff([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT8_MSCAPSLOCKWARNINGOFF)] HRESULT msCapsLockWarningOff([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104bc-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDocumentEvent : IDispatch
{
    [id(DISPID_IDOCUMENTEVENT_CREATEEVENT)] HRESULT createEvent([in] BSTR eventType,[retval, out] IDOMEvent** ppEvent);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104af-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDocumentRange : IDispatch
{
    [id(DISPID_IDOCUMENTRANGE_CREATERANGE)] HRESULT createRange([retval, out] IHTMLDOMRange** ppIHTMLDOMRange);
};
[
    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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510744-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDocumentTraversal : IDispatch
{
    [id(DISPID_IDOCUMENTTRAVERSAL_CREATENODEITERATOR)] HRESULT createNodeIterator([in] IDispatch* pRootNode,[in] long ulWhatToShow,[in] VARIANT* pFilter,[in] VARIANT_BOOL fEntityReferenceExpansion,[retval, out] IDOMNodeIterator** ppNodeIterator);
    [id(DISPID_IDOCUMENTTRAVERSAL_CREATETREEWALKER)] HRESULT createTreeWalker([in] IDispatch* pRootNode,[in] long ulWhatToShow,[in] VARIANT* pFilter,[in] VARIANT_BOOL fEntityReferenceExpansion,[retval, out] IDOMTreeWalker** ppTreeWalker);
};
[
    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_IHTMLDOCUMENT7_DEFAULTVIEW)] IHTMLWindow2* defaultView();
    [id(DISPID_IHTMLDOCUMENT7_CREATECDATASECTION)] IHTMLDOMNode* createCDATASection([in] BSTR text);
    [id(DISPID_IHTMLDOCUMENT7_GETSELECTION)] IHTMLSelection* getSelection();
    [id(DISPID_IHTMLDOCUMENT7_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* pvarNS,[in] BSTR bstrLocalName);
    [id(DISPID_IHTMLDOCUMENT7_CREATEELEMENTNS)] IHTMLElement* createElementNS([in] VARIANT* pvarNS,[in] BSTR bstrTag);
    [id(DISPID_IHTMLDOCUMENT7_CREATEATTRIBUTENS)] IHTMLDOMAttribute* createAttributeNS([in] VARIANT* pvarNS,[in] BSTR bstrAttrName);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONMSTHUMBNAILCLICK), displaybind, bindable] void onmsthumbnailclick(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONMSTHUMBNAILCLICK), displaybind, bindable] VARIANT onmsthumbnailclick();
    [propget, id(DISPID_IHTMLDOCUMENT7_CHARACTERSET)] BSTR characterSet();
    [id(DISPID_IHTMLDOCUMENT7_IE9_CREATEELEMENT)] IHTMLElement* ie9_createElement([in] BSTR bstrTag);
    [id(DISPID_IHTMLDOCUMENT7_IE9_CREATEATTRIBUTE)] IHTMLDOMAttribute* ie9_createAttribute([in] BSTR bstrAttrName);
    [id(DISPID_IHTMLDOCUMENT7_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLDOCUMENT7_CREATEPROCESSINGINSTRUCTION)] IDOMProcessingInstruction* createProcessingInstruction([in] BSTR bstrTarget,[in] BSTR bstrData);
    [id(DISPID_IHTMLDOCUMENT7_ADOPTNODE)] IHTMLDOMNode3* adoptNode([in] IHTMLDOMNode* pNodeSource);
    [propput, id(DISPID_IHTMLDOCUMENT7_ONMSSITEMODEJUMPLISTITEMREMOVED), displaybind, bindable] void onmssitemodejumplistitemremoved(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONMSSITEMODEJUMPLISTITEMREMOVED), displaybind, bindable] VARIANT onmssitemodejumplistitemremoved();
    [propget, id(DISPID_IHTMLDOCUMENT7_IE9_ALL)] IHTMLElementCollection* ie9_all();
    [propget, id(DISPID_IHTMLDOCUMENT7_INPUTENCODING)] BSTR inputEncoding();
    [propget, id(DISPID_IHTMLDOCUMENT7_XMLENCODING)] BSTR xmlEncoding();
    [propput, id(DISPID_IHTMLDOCUMENT7_XMLSTANDALONE)] void xmlStandalone(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT7_XMLSTANDALONE)] VARIANT_BOOL xmlStandalone();
    [propput, id(DISPID_IHTMLDOCUMENT7_XMLVERSION)] void xmlVersion(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT7_XMLVERSION)] BSTR xmlVersion();
    [id(DISPID_IHTMLDOCUMENT7_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONCANPLAY), displaybind, bindable] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONCANPLAY), displaybind, bindable] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONCANPLAYTHROUGH), displaybind, bindable] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONCANPLAYTHROUGH), displaybind, bindable] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONDURATIONCHANGE), displaybind, bindable] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONDURATIONCHANGE), displaybind, bindable] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONEMPTIED), displaybind, bindable] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONEMPTIED), displaybind, bindable] VARIANT onemptied();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONENDED), displaybind, bindable] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONENDED), displaybind, bindable] VARIANT onended();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONINPUT), displaybind, bindable] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONINPUT), displaybind, bindable] VARIANT oninput();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOADEDDATA), displaybind, bindable] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOADEDDATA), displaybind, bindable] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOADEDMETADATA), displaybind, bindable] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOADEDMETADATA), displaybind, bindable] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONLOADSTART), displaybind, bindable] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONLOADSTART), displaybind, bindable] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONPAUSE), displaybind, bindable] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONPAUSE), displaybind, bindable] VARIANT onpause();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONPLAY), displaybind, bindable] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONPLAY), displaybind, bindable] VARIANT onplay();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONPLAYING), displaybind, bindable] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONPLAYING), displaybind, bindable] VARIANT onplaying();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONPROGRESS), displaybind, bindable] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONPROGRESS), displaybind, bindable] VARIANT onprogress();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONRATECHANGE), displaybind, bindable] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONRATECHANGE), displaybind, bindable] VARIANT onratechange();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSEEKED), displaybind, bindable] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSEEKED), displaybind, bindable] VARIANT onseeked();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSEEKING), displaybind, bindable] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSEEKING), displaybind, bindable] VARIANT onseeking();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSTALLED), displaybind, bindable] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSTALLED), displaybind, bindable] VARIANT onstalled();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONSUSPEND), displaybind, bindable] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONSUSPEND), displaybind, bindable] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONTIMEUPDATE), displaybind, bindable] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONTIMEUPDATE), displaybind, bindable] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONVOLUMECHANGE), displaybind, bindable] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONVOLUMECHANGE), displaybind, bindable] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLDOCUMENT7_ONWAITING), displaybind, bindable] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT7_ONWAITING), displaybind, bindable] VARIANT onwaiting();
    [id(DISPID_IHTMLDOCUMENT7_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLDOCUMENT7_IMPORTNODE)] IHTMLDOMNode3* importNode([in] IHTMLDOMNode* pNodeSource,[in] VARIANT_BOOL fDeep);
    [propget, id(DISPID_IHTMLDOCUMENT7_IE9_PARENTWINDOW)] IHTMLWindow2* ie9_parentWindow();
    [propputref, id(DISPID_IHTMLDOCUMENT7_IE9_BODY)] void ie9_body(IHTMLElement* v);
    [propget, id(DISPID_IHTMLDOCUMENT7_IE9_BODY)] IHTMLElement* ie9_body();
    [propget, id(DISPID_IHTMLDOCUMENT7_HEAD)] IHTMLElement* head();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSCONTENTZOOM), displaybind, bindable] void onmscontentzoom(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSCONTENTZOOM), displaybind, bindable] VARIANT onmscontentzoom();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERDOWN), displaybind, bindable] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERDOWN), displaybind, bindable] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERMOVE), displaybind, bindable] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERMOVE), displaybind, bindable] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERUP), displaybind, bindable] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERUP), displaybind, bindable] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTEROVER), displaybind, bindable] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTEROVER), displaybind, bindable] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTEROUT), displaybind, bindable] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTEROUT), displaybind, bindable] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERCANCEL), displaybind, bindable] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERCANCEL), displaybind, bindable] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERHOVER), displaybind, bindable] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSPOINTERHOVER), displaybind, bindable] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURESTART), displaybind, bindable] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURESTART), displaybind, bindable] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURECHANGE), displaybind, bindable] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURECHANGE), displaybind, bindable] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREEND), displaybind, bindable] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREEND), displaybind, bindable] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREHOLD), displaybind, bindable] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREHOLD), displaybind, bindable] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURETAP), displaybind, bindable] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTURETAP), displaybind, bindable] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREDOUBLETAP), displaybind, bindable] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSGESTUREDOUBLETAP), displaybind, bindable] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSINERTIASTART), displaybind, bindable] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSINERTIASTART), displaybind, bindable] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLDOCUMENT8_ELEMENTSFROMPOINT)] IHTMLDOMChildrenCollection* elementsFromPoint([in] float x,[in] float y);
    [id(DISPID_IHTMLDOCUMENT8_ELEMENTSFROMRECT)] IHTMLDOMChildrenCollection* elementsFromRect([in] float left,[in] float top,[in] float width,[in] float height);
    [propput, id(DISPID_IHTMLDOCUMENT8_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT8_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLDOCUMENT8_MSCAPSLOCKWARNINGOFF)] void msCapsLockWarningOff(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT8_MSCAPSLOCKWARNINGOFF)] VARIANT_BOOL msCapsLockWarningOff();
    [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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [id(DISPID_IDOCUMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IDOCUMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [id(DISPID_IDOCUMENTTRAVERSAL_CREATENODEITERATOR)] IDOMNodeIterator* createNodeIterator([in] IDispatch* pRootNode,[in] long ulWhatToShow,[in] VARIANT* pFilter,[in] VARIANT_BOOL fEntityReferenceExpansion);
    [id(DISPID_IDOCUMENTTRAVERSAL_CREATETREEWALKER)] IDOMTreeWalker* createTreeWalker([in] IDispatch* pRootNode,[in] long ulWhatToShow,[in] VARIANT* pFilter,[in] VARIANT_BOOL fEntityReferenceExpansion);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [id(DISPID_IDOCUMENTEVENT_CREATEEVENT)] IDOMEvent* createEvent([in] BSTR eventType);
    [id(DISPID_IDOCUMENTRANGE_CREATERANGE)] IHTMLDOMRange* createRange();
    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)] void addEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)] void removeEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)] VARIANT_BOOL dispatchEvent([in] IDOMEvent* evt);
    [propget, id(DISPID_ISVGDOCUMENT_ROOTELEMENT)] ISVGSVGElement* rootElement();
};
[
    uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
]
coclass HTMLDocument
{
    [default]           dispinterface DispHTMLDocument;
    [source, default]   dispinterface HTMLDocumentEvents;
    [source]            dispinterface HTMLDocumentEvents2;
    [source]            dispinterface HTMLDocumentEvents3;
    [source]            dispinterface HTMLDocumentEvents4;
                        interface IHTMLDocument2;
                        interface IHTMLDocument3;
                        interface IHTMLDocument4;
                        interface IHTMLDocument5;
                        interface IHTMLDocument6;
                        interface IHTMLDocument7;
                        interface IHTMLDocument8;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMNode3;
                        interface IDocumentSelector;
                        interface IDocumentTraversal;
                        interface IHTMLDOMConstructor;
                        interface IDocumentEvent;
                        interface IDocumentRange;
                        interface IEventTarget;
                        interface ISVGDocument;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [id(DISPID_IGETSVGDOCUMENT_GETSVGDOCUMENT)] IDispatch* getSVGDocument();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLEmbedElement;
                        interface IHTMLEmbedElement2;
                        interface IGetSVGDocument;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051073f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCommentElement3 : IDispatch
{
    [id(DISPID_IHTMLCOMMENTELEMENT3_IE9_SUBSTRINGDATA)] HRESULT substringData([in] long offset,[in] long Count,[retval, out] BSTR* pbstrsubString);
    [id(DISPID_IHTMLCOMMENTELEMENT3_IE9_INSERTDATA)] HRESULT insertData([in] long offset,[in] BSTR bstrstring);
    [id(DISPID_IHTMLCOMMENTELEMENT3_IE9_DELETEDATA)] HRESULT deleteData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLCOMMENTELEMENT3_IE9_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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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);
    [id(DISPID_IHTMLCOMMENTELEMENT3_IE9_SUBSTRINGDATA)] BSTR ie9_substringData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLCOMMENTELEMENT3_IE9_INSERTDATA)] void ie9_insertData([in] long offset,[in] BSTR bstrstring);
    [id(DISPID_IHTMLCOMMENTELEMENT3_IE9_DELETEDATA)] void ie9_deleteData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLCOMMENTELEMENT3_IE9_REPLACEDATA)] void ie9_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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLCommentElement;
                        interface IHTMLCommentElement2;
                        interface IHTMLCommentElement3;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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(305106C2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTable4 : IDispatch
{
    [propputref, id(DISPID_IHTMLTABLE4_IE9_THEAD)] HRESULT tHead([in] IHTMLTableSection* v);
    [propget, id(DISPID_IHTMLTABLE4_IE9_THEAD)] HRESULT tHead([retval, out] IHTMLTableSection* * p);
    [propputref, id(DISPID_IHTMLTABLE4_IE9_TFOOT)] HRESULT tFoot([in] IHTMLTableSection* v);
    [propget, id(DISPID_IHTMLTABLE4_IE9_TFOOT)] HRESULT tFoot([retval, out] IHTMLTableSection* * p);
    [propputref, id(DISPID_IHTMLTABLE4_IE9_CAPTION)] HRESULT caption([in] IHTMLTableCaption* v);
    [propget, id(DISPID_IHTMLTABLE4_IE9_CAPTION)] HRESULT caption([retval, out] IHTMLTableCaption* * p);
    [id(DISPID_IHTMLTABLE4_IE9_INSERTROW)] HRESULT insertRow([defaultvalue(-1), in] long index,[retval, out] IDispatch** row);
    [id(DISPID_IHTMLTABLE4_IE9_DELETEROW)] HRESULT deleteRow([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLE4_CREATETBODY)] HRESULT createTBody([retval, out] IHTMLTableSection** tbody);
};
[
    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(305106c4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableCol3 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLECOL3_IE9_CH), displaybind, bindable] HRESULT ch([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL3_IE9_CH), displaybind, bindable] HRESULT ch([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECOL3_IE9_CHOFF), displaybind, bindable] HRESULT chOff([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL3_IE9_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(305106c5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableSection4 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLESECTION4_IE9_CH), displaybind, bindable] HRESULT ch([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION4_IE9_CH), displaybind, bindable] HRESULT ch([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLESECTION4_IE9_CHOFF), displaybind, bindable] HRESULT chOff([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION4_IE9_CHOFF), displaybind, bindable] HRESULT chOff([retval, out] BSTR * p);
    [id(DISPID_IHTMLTABLESECTION4_IE9_INSERTROW)] HRESULT insertRow([defaultvalue(-1), in] long index,[retval, out] IDispatch** row);
    [id(DISPID_IHTMLTABLESECTION4_IE9_DELETEROW)] HRESULT deleteRow([defaultvalue(-1), in] long index);
};
[
    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(305106c6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableRow4 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLEROW4_IE9_CH), displaybind, bindable] HRESULT ch([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW4_IE9_CH), displaybind, bindable] HRESULT ch([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLEROW4_IE9_CHOFF), displaybind, bindable] HRESULT chOff([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW4_IE9_CHOFF), displaybind, bindable] HRESULT chOff([retval, out] BSTR * p);
    [id(DISPID_IHTMLTABLEROW4_IE9_INSERTCELL)] HRESULT insertCell([defaultvalue(-1), in] long index,[retval, out] IDispatch** row);
    [id(DISPID_IHTMLTABLEROW4_IE9_DELETECELL)] HRESULT deleteCell([defaultvalue(-1), in] long index);
};
[
    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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106c7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableCell3 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable] HRESULT ch([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable] HRESULT ch([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable] HRESULT chOff([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable] HRESULT chOff([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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [propputref, id(DISPID_IHTMLTABLE4_IE9_THEAD)] void ie9_tHead(IHTMLTableSection* v);
    [propget, id(DISPID_IHTMLTABLE4_IE9_THEAD)] IHTMLTableSection* ie9_tHead();
    [propputref, id(DISPID_IHTMLTABLE4_IE9_TFOOT)] void ie9_tFoot(IHTMLTableSection* v);
    [propget, id(DISPID_IHTMLTABLE4_IE9_TFOOT)] IHTMLTableSection* ie9_tFoot();
    [propputref, id(DISPID_IHTMLTABLE4_IE9_CAPTION)] void ie9_caption(IHTMLTableCaption* v);
    [propget, id(DISPID_IHTMLTABLE4_IE9_CAPTION)] IHTMLTableCaption* ie9_caption();
    [id(DISPID_IHTMLTABLE4_IE9_INSERTROW)] IDispatch* ie9_insertRow([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLE4_IE9_DELETEROW)] void ie9_deleteRow([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLE4_CREATETBODY)] IHTMLTableSection* createTBody();
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLTable;
                        interface IHTMLTable2;
                        interface IHTMLTable3;
                        interface IHTMLTable4;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [propput, id(DISPID_IHTMLTABLECOL3_IE9_CH), displaybind, bindable] void ie9_ch(BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL3_IE9_CH), displaybind, bindable] BSTR ie9_ch();
    [propput, id(DISPID_IHTMLTABLECOL3_IE9_CHOFF), displaybind, bindable] void ie9_chOff(BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL3_IE9_CHOFF), displaybind, bindable] BSTR ie9_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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLTableCol;
                        interface IHTMLTableCol2;
                        interface IHTMLTableCol3;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [propput, id(DISPID_IHTMLTABLESECTION4_IE9_CH), displaybind, bindable] void ie9_ch(BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION4_IE9_CH), displaybind, bindable] BSTR ie9_ch();
    [propput, id(DISPID_IHTMLTABLESECTION4_IE9_CHOFF), displaybind, bindable] void ie9_chOff(BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION4_IE9_CHOFF), displaybind, bindable] BSTR ie9_chOff();
    [id(DISPID_IHTMLTABLESECTION4_IE9_INSERTROW)] IDispatch* ie9_insertRow([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLESECTION4_IE9_DELETEROW)] void ie9_deleteRow([defaultvalue(-1), in] long index);
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLTableSection;
                        interface IHTMLTableSection2;
                        interface IHTMLTableSection3;
                        interface IHTMLTableSection4;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [propput, id(DISPID_IHTMLTABLEROW4_IE9_CH), displaybind, bindable] void ie9_ch(BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW4_IE9_CH), displaybind, bindable] BSTR ie9_ch();
    [propput, id(DISPID_IHTMLTABLEROW4_IE9_CHOFF), displaybind, bindable] void ie9_chOff(BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW4_IE9_CHOFF), displaybind, bindable] BSTR ie9_chOff();
    [id(DISPID_IHTMLTABLEROW4_IE9_INSERTCELL)] IDispatch* ie9_insertCell([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLEROW4_IE9_DELETECELL)] void ie9_deleteCell([defaultvalue(-1), in] long index);
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLTableRow;
                        interface IHTMLTableRowMetrics;
                        interface IHTMLTableRow2;
                        interface IHTMLTableRow3;
                        interface IHTMLTableRow4;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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();
    [propput, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable] void ie9_ch(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable] BSTR ie9_ch();
    [propput, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable] void ie9_chOff(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable] BSTR ie9_chOff();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLTableCell;
                        interface IHTMLTableCell2;
                        interface IHTMLTableCell3;
};
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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510801-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLScriptElement4 : IDispatch
{
    [propget, id(DISPID_IHTMLSCRIPTELEMENT4_USEDCHARSET)] HRESULT usedCharset([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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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();
    [propget, id(DISPID_IHTMLSCRIPTELEMENT4_USEDCHARSET)] BSTR usedCharset();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLScriptElement;
                        interface IHTMLScriptElement2;
                        interface IHTMLScriptElement3;
                        interface IHTMLScriptElement4;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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), hidden] HRESULT data([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA), hidden] HRESULT data([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104b5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLObjectElement5 : IDispatch
{
    [propput, id(DISPID_IHTMLOBJECTELEMENT5_IE9_OBJECT)] HRESULT object([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT5_IE9_OBJECT)] HRESULT object([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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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), hidden] void ie8_data(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA), hidden] BSTR ie8_data();
    [id(DISPID_IGETSVGDOCUMENT_GETSVGDOCUMENT)] IDispatch* getSVGDocument();
    [propput, id(DISPID_IHTMLOBJECTELEMENT5_IE9_OBJECT)] void ie9_object(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT5_IE9_OBJECT)] BSTR ie9_object();
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLObjectElement;
                        interface IHTMLObjectElement2;
                        interface IHTMLObjectElement3;
                        interface IHTMLObjectElement4;
                        interface IGetSVGDocument;
                        interface IHTMLObjectElement5;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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();
    [id(DISPID_IGETSVGDOCUMENT_GETSVGDOCUMENT)] IDispatch* getSVGDocument();
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLFrameBase;
                        interface IHTMLFrameBase2;
                        interface IHTMLFrameBase3;
                        interface IHTMLFrameElement;
                        interface IHTMLFrameElement2;
                        interface IHTMLFrameElement3;
                        interface IGetSVGDocument;
};
cpp_quote("EXTERN_C const GUID CLSID_CFrameElement;")
typedef enum _sandboxAllow
{
    sandboxAllowScripts = 0,
    sandboxAllowSameOrigin = 1,
    sandboxAllowTopNavigation = 2,
    sandboxAllowForms = 3,
    sandboxAllowPopups = 4,
    sandboxAllow_Max = 2147483647L
} sandboxAllow;

[
    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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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();
    [id(DISPID_IGETSVGDOCUMENT_GETSVGDOCUMENT)] IDispatch* getSVGDocument();
};
[
    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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLFrameBase;
                        interface IHTMLFrameBase2;
                        interface IHTMLFrameBase3;
                        interface IHTMLIFrameElement;
                        interface IHTMLIFrameElement2;
                        interface IHTMLIFrameElement3;
                        interface IGetSVGDocument;
};
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510796-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFrameSetElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONHASHCHANGE), displaybind, bindable] HRESULT onhashchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONHASHCHANGE), displaybind, bindable] HRESULT onhashchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONMESSAGE), displaybind, bindable] HRESULT onmessage([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONMESSAGE), displaybind, bindable] HRESULT onmessage([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONOFFLINE), displaybind, bindable] HRESULT onoffline([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONOFFLINE), displaybind, bindable] HRESULT onoffline([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONONLINE), displaybind, bindable] HRESULT ononline([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONONLINE), displaybind, bindable] HRESULT ononline([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONSTORAGE), displaybind, bindable] HRESULT onstorage([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONSTORAGE), displaybind, bindable] HRESULT onstorage([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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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_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();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONHASHCHANGE), displaybind, bindable] void onhashchange(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONHASHCHANGE), displaybind, bindable] VARIANT onhashchange();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONMESSAGE), displaybind, bindable] void onmessage(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONMESSAGE), displaybind, bindable] VARIANT onmessage();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONOFFLINE), displaybind, bindable] void onoffline(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONOFFLINE), displaybind, bindable] VARIANT onoffline();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONONLINE), displaybind, bindable] void ononline(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONONLINE), displaybind, bindable] VARIANT ononline();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT3_ONSTORAGE), displaybind, bindable] void onstorage(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT3_ONSTORAGE), displaybind, bindable] VARIANT onstorage();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLControlElement;
                        interface IHTMLFrameSetElement;
                        interface IHTMLFrameSetElement2;
                        interface IHTMLFrameSetElement3;
};
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051072a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleElement2 : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLEELEMENT2_SHEET)] HRESULT sheet([retval, out] IHTMLStyleSheet* * 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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable] BSTR type();
    [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();
    [propget, id(DISPID_IHTMLSTYLEELEMENT2_SHEET)] IHTMLStyleSheet* sheet();
};
[
    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 IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLStyleElement;
                        interface IHTMLStyleElement2;
};
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);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106ec-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleFontFace2 : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLEFONTFACE2_STYLE), nonbrowsable] HRESULT style([retval, out] IHTMLRuleStyle* * p);
};
[
    hidden,
    uuid(30590081-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleFontFace
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSRULE_TYPE)] USHORT type();
    [propput, id(DISPID_IHTMLCSSRULE_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSRULE_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTRULE)] IHTMLCSSRule* parentRule();
    [propget, id(DISPID_IHTMLCSSRULE_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
    [propput, id(DISPID_IHTMLSTYLEFONTFACE_FONTSRC), displaybind, bindable] void fontsrc(BSTR v);
    [propget, id(DISPID_IHTMLSTYLEFONTFACE_FONTSRC), displaybind, bindable] BSTR fontsrc();
    [propget, id(DISPID_IHTMLSTYLEFONTFACE2_STYLE), nonbrowsable] IHTMLRuleStyle* style();
};
[
    noncreatable,
    uuid(3050f3d4-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleFontFace
{
    [default]           dispinterface DispHTMLStyleFontFace;
                        interface IHTMLCSSRule;
                        interface IHTMLStyleFontFace;
                        interface IHTMLStyleFontFace2;
};
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();
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510799-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStorage2 : IDispatch
{
    [id(DISPID_IHTMLSTORAGE2_IE9_SETITEM)] HRESULT setItem([in] BSTR bstrKey,[in] BSTR bstrValue);
};
[
    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();
    [id(DISPID_IHTMLSTORAGE2_IE9_SETITEM)] void ie9_setItem([in] BSTR bstrKey,[in] BSTR bstrValue);
};
[
    noncreatable,
    uuid(30510475-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStorage
{
    [default]           dispinterface DispHTMLStorage;
                        interface IHTMLDOMConstructor;
                        interface IHTMLStorage;
                        interface IHTMLStorage2;
};
cpp_quote("EXTERN_C const GUID CLSID_CStorage;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104b9-98b5-11cf-bb82-00aa00bdce0b)
]
interface IEventTarget : IDispatch
{
    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)] HRESULT addEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)] HRESULT removeEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)] HRESULT dispatchEvent([in] IDOMEvent* evt,[retval, out] VARIANT_BOOL* pfResult);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104ba-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMEvent : IDispatch
{
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] HRESULT bubbles([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] HRESULT cancelable([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] HRESULT currentTarget([retval, out] IEventTarget* * p);
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] HRESULT defaultPrevented([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] HRESULT eventPhase([retval, out] USHORT * p);
    [propget, id(DISPID_IDOMEVENT_TARGET)] HRESULT target([retval, out] IEventTarget* * p);
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] HRESULT timeStamp([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IDOMEVENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [id(DISPID_IDOMEVENT_INITEVENT)] HRESULT initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] HRESULT preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] HRESULT stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] HRESULT stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] HRESULT isTrusted([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] HRESULT cancelBubble([in] VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] HRESULT cancelBubble([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] HRESULT srcElement([retval, out] IHTMLElement* * p);
};
[
    hidden,
    uuid(3050f5a2-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
};
[
    noncreatable,
    uuid(305104bb-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMEvent
{
    [default]           dispinterface DispDOMEvent;
                        interface IDOMEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106ca-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMUIEvent : IDispatch
{
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] HRESULT view([retval, out] IHTMLWindow2* * p);
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] HRESULT detail([retval, out] long * p);
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] HRESULT initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
};
[
    hidden,
    uuid(30590072-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMUIEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
};
[
    noncreatable,
    uuid(305106cb-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMUIEvent
{
    [default]           dispinterface DispDOMUIEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMUIEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106ce-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMMouseEvent : IDispatch
{
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENX)] HRESULT screenX([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENY)] HRESULT screenY([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTX)] HRESULT clientX([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTY)] HRESULT clientY([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_CTRLKEY)] HRESULT ctrlKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_SHIFTKEY)] HRESULT shiftKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_ALTKEY)] HRESULT altKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_METAKEY)] HRESULT metaKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTON)] HRESULT button([retval, out] USHORT * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_RELATEDTARGET)] HRESULT relatedTarget([retval, out] IEventTarget* * p);
    [id(DISPID_IDOMMOUSEEVENT_INITMOUSEEVENT)] HRESULT initMouseEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] VARIANT_BOOL ctrlKeyArg,[in] VARIANT_BOOL altKeyArg,[in] VARIANT_BOOL shiftKeyArg,[in] VARIANT_BOOL metaKeyArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg);
    [id(DISPID_IDOMMOUSEEVENT_GETMODIFIERSTATE)] HRESULT getModifierState([in] BSTR keyArg,[retval, out] VARIANT_BOOL* activated);
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTONS)] HRESULT buttons([retval, out] USHORT * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_FROMELEMENT)] HRESULT fromElement([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_TOELEMENT)] HRESULT toElement([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_X)] HRESULT x([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_Y)] HRESULT y([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETX)] HRESULT offsetX([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETY)] HRESULT offsetY([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEX)] HRESULT pageX([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEY)] HRESULT pageY([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERX)] HRESULT layerX([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERY)] HRESULT layerY([retval, out] long * p);
    [propget, id(DISPID_IDOMMOUSEEVENT_WHICH)] HRESULT which([retval, out] USHORT * p);
};
[
    hidden,
    uuid(30590073-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMMouseEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENX)] long screenX();
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENY)] long screenY();
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTX)] long clientX();
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTY)] long clientY();
    [propget, id(DISPID_IDOMMOUSEEVENT_CTRLKEY)] VARIANT_BOOL ctrlKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_SHIFTKEY)] VARIANT_BOOL shiftKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_ALTKEY)] VARIANT_BOOL altKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_METAKEY)] VARIANT_BOOL metaKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTON)] USHORT button();
    [propget, id(DISPID_IDOMMOUSEEVENT_RELATEDTARGET)] IEventTarget* relatedTarget();
    [id(DISPID_IDOMMOUSEEVENT_INITMOUSEEVENT)] void initMouseEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] VARIANT_BOOL ctrlKeyArg,[in] VARIANT_BOOL altKeyArg,[in] VARIANT_BOOL shiftKeyArg,[in] VARIANT_BOOL metaKeyArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg);
    [id(DISPID_IDOMMOUSEEVENT_GETMODIFIERSTATE)] VARIANT_BOOL getModifierState([in] BSTR keyArg);
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTONS)] USHORT buttons();
    [propget, id(DISPID_IDOMMOUSEEVENT_FROMELEMENT)] IHTMLElement* fromElement();
    [propget, id(DISPID_IDOMMOUSEEVENT_TOELEMENT)] IHTMLElement* toElement();
    [propget, id(DISPID_IDOMMOUSEEVENT_X)] long x();
    [propget, id(DISPID_IDOMMOUSEEVENT_Y)] long y();
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETX)] long offsetX();
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETY)] long offsetY();
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEX)] long pageX();
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEY)] long pageY();
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERX)] long layerX();
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERY)] long layerY();
    [propget, id(DISPID_IDOMMOUSEEVENT_WHICH)] USHORT which();
};
[
    noncreatable,
    uuid(305106cf-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMMouseEvent
{
    [default]           dispinterface DispDOMMouseEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface IDOMMouseEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMMouseEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510761-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMDragEvent : IDispatch
{
    [propget, id(DISPID_IDOMDRAGEVENT_DATATRANSFER)] HRESULT dataTransfer([retval, out] IHTMLDataTransfer* * p);
    [id(DISPID_IDOMDRAGEVENT_INITDRAGEVENT)] HRESULT initDragEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] VARIANT_BOOL ctrlKeyArg,[in] VARIANT_BOOL altKeyArg,[in] VARIANT_BOOL shiftKeyArg,[in] VARIANT_BOOL metaKeyArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg,[in] IHTMLDataTransfer* dataTransferArg);
};
[
    hidden,
    uuid(305900a7-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMDragEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENX)] long screenX();
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENY)] long screenY();
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTX)] long clientX();
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTY)] long clientY();
    [propget, id(DISPID_IDOMMOUSEEVENT_CTRLKEY)] VARIANT_BOOL ctrlKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_SHIFTKEY)] VARIANT_BOOL shiftKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_ALTKEY)] VARIANT_BOOL altKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_METAKEY)] VARIANT_BOOL metaKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTON)] USHORT button();
    [propget, id(DISPID_IDOMMOUSEEVENT_RELATEDTARGET)] IEventTarget* relatedTarget();
    [id(DISPID_IDOMMOUSEEVENT_INITMOUSEEVENT)] void initMouseEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] VARIANT_BOOL ctrlKeyArg,[in] VARIANT_BOOL altKeyArg,[in] VARIANT_BOOL shiftKeyArg,[in] VARIANT_BOOL metaKeyArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg);
    [id(DISPID_IDOMMOUSEEVENT_GETMODIFIERSTATE)] VARIANT_BOOL getModifierState([in] BSTR keyArg);
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTONS)] USHORT buttons();
    [propget, id(DISPID_IDOMMOUSEEVENT_FROMELEMENT)] IHTMLElement* fromElement();
    [propget, id(DISPID_IDOMMOUSEEVENT_TOELEMENT)] IHTMLElement* toElement();
    [propget, id(DISPID_IDOMMOUSEEVENT_X)] long x();
    [propget, id(DISPID_IDOMMOUSEEVENT_Y)] long y();
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETX)] long offsetX();
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETY)] long offsetY();
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEX)] long pageX();
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEY)] long pageY();
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERX)] long layerX();
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERY)] long layerY();
    [propget, id(DISPID_IDOMMOUSEEVENT_WHICH)] USHORT which();
    [propget, id(DISPID_IDOMDRAGEVENT_DATATRANSFER)] IHTMLDataTransfer* dataTransfer();
    [id(DISPID_IDOMDRAGEVENT_INITDRAGEVENT)] void initDragEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] VARIANT_BOOL ctrlKeyArg,[in] VARIANT_BOOL altKeyArg,[in] VARIANT_BOOL shiftKeyArg,[in] VARIANT_BOOL metaKeyArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg,[in] IHTMLDataTransfer* dataTransferArg);
};
[
    noncreatable,
    uuid(30510762-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMDragEvent
{
    [default]           dispinterface DispDOMDragEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface IDOMMouseEvent;
                        interface IDOMDragEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMDragEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106d0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMMouseWheelEvent : IDispatch
{
    [propget, id(DISPID_IDOMMOUSEWHEELEVENT_WHEELDELTA)] HRESULT wheelDelta([retval, out] long * p);
    [id(DISPID_IDOMMOUSEWHEELEVENT_INITMOUSEWHEELEVENT)] HRESULT initMouseWheelEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg,[in] BSTR modifiersListArg,[in] long wheelDeltaArg);
};
[
    hidden,
    uuid(30590074-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMMouseWheelEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENX)] long screenX();
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENY)] long screenY();
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTX)] long clientX();
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTY)] long clientY();
    [propget, id(DISPID_IDOMMOUSEEVENT_CTRLKEY)] VARIANT_BOOL ctrlKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_SHIFTKEY)] VARIANT_BOOL shiftKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_ALTKEY)] VARIANT_BOOL altKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_METAKEY)] VARIANT_BOOL metaKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTON)] USHORT button();
    [propget, id(DISPID_IDOMMOUSEEVENT_RELATEDTARGET)] IEventTarget* relatedTarget();
    [id(DISPID_IDOMMOUSEEVENT_INITMOUSEEVENT)] void initMouseEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] VARIANT_BOOL ctrlKeyArg,[in] VARIANT_BOOL altKeyArg,[in] VARIANT_BOOL shiftKeyArg,[in] VARIANT_BOOL metaKeyArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg);
    [id(DISPID_IDOMMOUSEEVENT_GETMODIFIERSTATE)] VARIANT_BOOL getModifierState([in] BSTR keyArg);
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTONS)] USHORT buttons();
    [propget, id(DISPID_IDOMMOUSEEVENT_FROMELEMENT)] IHTMLElement* fromElement();
    [propget, id(DISPID_IDOMMOUSEEVENT_TOELEMENT)] IHTMLElement* toElement();
    [propget, id(DISPID_IDOMMOUSEEVENT_X)] long x();
    [propget, id(DISPID_IDOMMOUSEEVENT_Y)] long y();
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETX)] long offsetX();
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETY)] long offsetY();
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEX)] long pageX();
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEY)] long pageY();
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERX)] long layerX();
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERY)] long layerY();
    [propget, id(DISPID_IDOMMOUSEEVENT_WHICH)] USHORT which();
    [propget, id(DISPID_IDOMMOUSEWHEELEVENT_WHEELDELTA)] long wheelDelta();
    [id(DISPID_IDOMMOUSEWHEELEVENT_INITMOUSEWHEELEVENT)] void initMouseWheelEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg,[in] BSTR modifiersListArg,[in] long wheelDeltaArg);
};
[
    noncreatable,
    uuid(305106d1-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMMouseWheelEvent
{
    [default]           dispinterface DispDOMMouseWheelEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface IDOMMouseEvent;
                        interface IDOMMouseWheelEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMMouseWheelEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106d2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMWheelEvent : IDispatch
{
    [propget, id(DISPID_IDOMWHEELEVENT_DELTAX)] HRESULT deltaX([retval, out] long * p);
    [propget, id(DISPID_IDOMWHEELEVENT_DELTAY)] HRESULT deltaY([retval, out] long * p);
    [propget, id(DISPID_IDOMWHEELEVENT_DELTAZ)] HRESULT deltaZ([retval, out] long * p);
    [propget, id(DISPID_IDOMWHEELEVENT_DELTAMODE)] HRESULT deltaMode([retval, out] ULONG * p);
    [id(DISPID_IDOMWHEELEVENT_INITWHEELEVENT)] HRESULT initWheelEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg,[in] BSTR modifiersListArg,[in] long deltaX,[in] long deltaY,[in] long deltaZ,[in] ULONG deltaMode);
};
[
    hidden,
    uuid(30590075-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMWheelEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENX)] long screenX();
    [propget, id(DISPID_IDOMMOUSEEVENT_SCREENY)] long screenY();
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTX)] long clientX();
    [propget, id(DISPID_IDOMMOUSEEVENT_CLIENTY)] long clientY();
    [propget, id(DISPID_IDOMMOUSEEVENT_CTRLKEY)] VARIANT_BOOL ctrlKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_SHIFTKEY)] VARIANT_BOOL shiftKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_ALTKEY)] VARIANT_BOOL altKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_METAKEY)] VARIANT_BOOL metaKey();
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTON)] USHORT button();
    [propget, id(DISPID_IDOMMOUSEEVENT_RELATEDTARGET)] IEventTarget* relatedTarget();
    [id(DISPID_IDOMMOUSEEVENT_INITMOUSEEVENT)] void initMouseEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] VARIANT_BOOL ctrlKeyArg,[in] VARIANT_BOOL altKeyArg,[in] VARIANT_BOOL shiftKeyArg,[in] VARIANT_BOOL metaKeyArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg);
    [id(DISPID_IDOMMOUSEEVENT_GETMODIFIERSTATE)] VARIANT_BOOL getModifierState([in] BSTR keyArg);
    [propget, id(DISPID_IDOMMOUSEEVENT_BUTTONS)] USHORT buttons();
    [propget, id(DISPID_IDOMMOUSEEVENT_FROMELEMENT)] IHTMLElement* fromElement();
    [propget, id(DISPID_IDOMMOUSEEVENT_TOELEMENT)] IHTMLElement* toElement();
    [propget, id(DISPID_IDOMMOUSEEVENT_X)] long x();
    [propget, id(DISPID_IDOMMOUSEEVENT_Y)] long y();
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETX)] long offsetX();
    [propget, id(DISPID_IDOMMOUSEEVENT_OFFSETY)] long offsetY();
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEX)] long pageX();
    [propget, id(DISPID_IDOMMOUSEEVENT_PAGEY)] long pageY();
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERX)] long layerX();
    [propget, id(DISPID_IDOMMOUSEEVENT_LAYERY)] long layerY();
    [propget, id(DISPID_IDOMMOUSEEVENT_WHICH)] USHORT which();
    [propget, id(DISPID_IDOMWHEELEVENT_DELTAX)] long deltaX();
    [propget, id(DISPID_IDOMWHEELEVENT_DELTAY)] long deltaY();
    [propget, id(DISPID_IDOMWHEELEVENT_DELTAZ)] long deltaZ();
    [propget, id(DISPID_IDOMWHEELEVENT_DELTAMODE)] ULONG deltaMode();
    [id(DISPID_IDOMWHEELEVENT_INITWHEELEVENT)] void initWheelEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long screenXArg,[in] long screenYArg,[in] long clientXArg,[in] long clientYArg,[in] USHORT buttonArg,[in] IEventTarget* relatedTargetArg,[in] BSTR modifiersListArg,[in] long deltaX,[in] long deltaY,[in] long deltaZ,[in] ULONG deltaMode);
};
[
    noncreatable,
    uuid(305106d3-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMWheelEvent
{
    [default]           dispinterface DispDOMWheelEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface IDOMMouseEvent;
                        interface IDOMWheelEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMWheelEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106d4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMTextEvent : IDispatch
{
    [propget, id(DISPID_IDOMTEXTEVENT_DATA)] HRESULT data([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMTEXTEVENT_INPUTMETHOD)] HRESULT inputMethod([retval, out] ULONG * p);
    [id(DISPID_IDOMTEXTEVENT_INITTEXTEVENT)] HRESULT initTextEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] BSTR dataArg,[in] ULONG inputMethod,[in] BSTR locale);
    [propget, id(DISPID_IDOMTEXTEVENT_LOCALE)] HRESULT locale([retval, out] BSTR * p);
};
[
    hidden,
    uuid(30590076-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMTextEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_IDOMTEXTEVENT_DATA)] BSTR data();
    [propget, id(DISPID_IDOMTEXTEVENT_INPUTMETHOD)] ULONG inputMethod();
    [id(DISPID_IDOMTEXTEVENT_INITTEXTEVENT)] void initTextEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] BSTR dataArg,[in] ULONG inputMethod,[in] BSTR locale);
    [propget, id(DISPID_IDOMTEXTEVENT_LOCALE)] BSTR locale();
};
[
    noncreatable,
    uuid(305106d5-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMTextEvent
{
    [default]           dispinterface DispDOMTextEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface IDOMTextEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMTextEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106d6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMKeyboardEvent : IDispatch
{
    [propget, id(DISPID_IDOMKEYBOARDEVENT_KEY)] HRESULT key([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_LOCATION)] HRESULT location([retval, out] ULONG * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_CTRLKEY)] HRESULT ctrlKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_SHIFTKEY)] HRESULT shiftKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_ALTKEY)] HRESULT altKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_METAKEY)] HRESULT metaKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_REPEAT)] HRESULT repeat([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IDOMKEYBOARDEVENT_GETMODIFIERSTATE)] HRESULT getModifierState([in] BSTR keyArg,[retval, out] VARIANT_BOOL* state);
    [id(DISPID_IDOMKEYBOARDEVENT_INITKEYBOARDEVENT)] HRESULT initKeyboardEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] BSTR keyArg,[in] ULONG locationArg,[in] BSTR modifiersListArg,[in] VARIANT_BOOL repeat,[in] BSTR locale);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_KEYCODE)] HRESULT keyCode([retval, out] long * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_CHARCODE)] HRESULT charCode([retval, out] long * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_WHICH)] HRESULT which([retval, out] long * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_IE9_CHAR)] HRESULT ie9_char([retval, out] VARIANT * p);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_LOCALE)] HRESULT locale([retval, out] BSTR * p);
};
[
    hidden,
    uuid(30590077-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMKeyboardEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_KEY)] BSTR key();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_LOCATION)] ULONG location();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_CTRLKEY)] VARIANT_BOOL ctrlKey();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_SHIFTKEY)] VARIANT_BOOL shiftKey();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_ALTKEY)] VARIANT_BOOL altKey();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_METAKEY)] VARIANT_BOOL metaKey();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_REPEAT)] VARIANT_BOOL repeat();
    [id(DISPID_IDOMKEYBOARDEVENT_GETMODIFIERSTATE)] VARIANT_BOOL getModifierState([in] BSTR keyArg);
    [id(DISPID_IDOMKEYBOARDEVENT_INITKEYBOARDEVENT)] void initKeyboardEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] BSTR keyArg,[in] ULONG locationArg,[in] BSTR modifiersListArg,[in] VARIANT_BOOL repeat,[in] BSTR locale);
    [propget, id(DISPID_IDOMKEYBOARDEVENT_KEYCODE)] long keyCode();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_CHARCODE)] long charCode();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_WHICH)] long which();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_IE9_CHAR)] VARIANT ie9_char();
    [propget, id(DISPID_IDOMKEYBOARDEVENT_LOCALE)] BSTR locale();
};
[
    noncreatable,
    uuid(305106d7-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMKeyboardEvent
{
    [default]           dispinterface DispDOMKeyboardEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface IDOMKeyboardEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMKeyboardEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106d8-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMCompositionEvent : IDispatch
{
    [propget, id(DISPID_IDOMCOMPOSITIONEVENT_DATA)] HRESULT data([retval, out] BSTR * p);
    [id(DISPID_IDOMCOMPOSITIONEVENT_INITCOMPOSITIONEVENT)] HRESULT initCompositionEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] BSTR data,[in] BSTR locale);
    [propget, id(DISPID_IDOMCOMPOSITIONEVENT_LOCALE)] HRESULT locale([retval, out] BSTR * p);
};
[
    hidden,
    uuid(30590078-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMCompositionEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_IDOMCOMPOSITIONEVENT_DATA)] BSTR data();
    [id(DISPID_IDOMCOMPOSITIONEVENT_INITCOMPOSITIONEVENT)] void initCompositionEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] BSTR data,[in] BSTR locale);
    [propget, id(DISPID_IDOMCOMPOSITIONEVENT_LOCALE)] BSTR locale();
};
[
    noncreatable,
    uuid(305106d9-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMCompositionEvent
{
    [default]           dispinterface DispDOMCompositionEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface IDOMCompositionEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMCompositionEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106da-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMMutationEvent : IDispatch
{
    [propget, id(DISPID_IDOMMUTATIONEVENT_RELATEDNODE)] HRESULT relatedNode([retval, out] IDispatch* * p);
    [propget, id(DISPID_IDOMMUTATIONEVENT_PREVVALUE)] HRESULT prevValue([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMMUTATIONEVENT_NEWVALUE)] HRESULT newValue([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMMUTATIONEVENT_ATTRNAME)] HRESULT attrName([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMMUTATIONEVENT_ATTRCHANGE)] HRESULT attrChange([retval, out] USHORT * p);
    [id(DISPID_IDOMMUTATIONEVENT_INITMUTATIONEVENT)] HRESULT initMutationEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IDispatch* relatedNodeArg,[in] BSTR prevValueArg,[in] BSTR newValueArg,[in] BSTR attrNameArg,[in] USHORT attrChangeArg);
};
[
    hidden,
    uuid(30590079-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMMutationEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMMUTATIONEVENT_RELATEDNODE)] IDispatch* relatedNode();
    [propget, id(DISPID_IDOMMUTATIONEVENT_PREVVALUE)] BSTR prevValue();
    [propget, id(DISPID_IDOMMUTATIONEVENT_NEWVALUE)] BSTR newValue();
    [propget, id(DISPID_IDOMMUTATIONEVENT_ATTRNAME)] BSTR attrName();
    [propget, id(DISPID_IDOMMUTATIONEVENT_ATTRCHANGE)] USHORT attrChange();
    [id(DISPID_IDOMMUTATIONEVENT_INITMUTATIONEVENT)] void initMutationEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IDispatch* relatedNodeArg,[in] BSTR prevValueArg,[in] BSTR newValueArg,[in] BSTR attrNameArg,[in] USHORT attrChangeArg);
};
[
    noncreatable,
    uuid(305106db-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMMutationEvent
{
    [default]           dispinterface DispDOMMutationEvent;
                        interface IDOMEvent;
                        interface IDOMMutationEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMMutationEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510763-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMBeforeUnloadEvent : IDispatch
{
    [propput, id(DISPID_IDOMBEFOREUNLOADEVENT_RETURNVALUE)] HRESULT returnValue([in] VARIANT v);
    [propget, id(DISPID_IDOMBEFOREUNLOADEVENT_RETURNVALUE)] HRESULT returnValue([retval, out] VARIANT * p);
};
[
    hidden,
    uuid(305900a8-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMBeforeUnloadEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propput, id(DISPID_IDOMBEFOREUNLOADEVENT_RETURNVALUE)] void returnValue(VARIANT v);
    [propget, id(DISPID_IDOMBEFOREUNLOADEVENT_RETURNVALUE)] VARIANT returnValue();
};
[
    noncreatable,
    uuid(30510764-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMBeforeUnloadEvent
{
    [default]           dispinterface DispDOMBeforeUnloadEvent;
                        interface IDOMEvent;
                        interface IDOMBeforeUnloadEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMBeforeUnloadEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106cc-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMFocusEvent : IDispatch
{
    [propget, id(DISPID_IDOMFOCUSEVENT_RELATEDTARGET)] HRESULT relatedTarget([retval, out] IEventTarget* * p);
    [id(DISPID_IDOMFOCUSEVENT_INITFOCUSEVENT)] HRESULT initFocusEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail,[in] IEventTarget* relatedTargetArg);
};
[
    hidden,
    uuid(30590071-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMFocusEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_IDOMFOCUSEVENT_RELATEDTARGET)] IEventTarget* relatedTarget();
    [id(DISPID_IDOMFOCUSEVENT_INITFOCUSEVENT)] void initFocusEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail,[in] IEventTarget* relatedTargetArg);
};
[
    noncreatable,
    uuid(305106cd-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMFocusEvent
{
    [default]           dispinterface DispDOMFocusEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface IDOMFocusEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMFocusEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305106de-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMCustomEvent : IDispatch
{
    [propget, id(DISPID_IDOMCUSTOMEVENT_DETAIL)] HRESULT detail([retval, out] VARIANT * p);
    [id(DISPID_IDOMCUSTOMEVENT_INITCUSTOMEVENT)] HRESULT initCustomEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] VARIANT* detail);
};
[
    hidden,
    uuid(3059007c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMCustomEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMCUSTOMEVENT_DETAIL)] VARIANT detail();
    [id(DISPID_IDOMCUSTOMEVENT_INITCUSTOMEVENT)] void initCustomEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] VARIANT* detail);
};
[
    noncreatable,
    uuid(305106df-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMCustomEvent
{
    [default]           dispinterface DispDOMCustomEvent;
                        interface IDOMEvent;
                        interface IDOMCustomEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMCustomEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510714-98b5-11cf-bb82-00aa00bdce0b)
]
interface ICanvasGradient : IDispatch
{
    [id(DISPID_ICANVASGRADIENT_ADDCOLORSTOP)] HRESULT addColorStop([in] float offset,[in] BSTR color);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510716-98b5-11cf-bb82-00aa00bdce0b)
]
interface ICanvasPattern : IDispatch
{
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510718-98b5-11cf-bb82-00aa00bdce0b)
]
interface ICanvasTextMetrics : IDispatch
{
    [propget, id(DISPID_ICANVASTEXTMETRICS_WIDTH)] HRESULT width([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051071a-98b5-11cf-bb82-00aa00bdce0b)
]
interface ICanvasImageData : IDispatch
{
    [propget, id(DISPID_ICANVASIMAGEDATA_WIDTH)] HRESULT width([retval, out] ULONG * p);
    [propget, id(DISPID_ICANVASIMAGEDATA_HEIGHT)] HRESULT height([retval, out] ULONG * p);
    [propget, id(DISPID_ICANVASIMAGEDATA_DATA)] HRESULT data([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051071c-98b5-11cf-bb82-00aa00bdce0b)
]
interface ICanvasPixelArray : IDispatch
{
    [propget, id(DISPID_ICANVASPIXELARRAY_LENGTH)] HRESULT length([retval, out] ULONG * p);
};
interface IHTMLCanvasElement;
[
    odl,
    oleautomation,
    dual,
    uuid(305106ff-98b5-11cf-bb82-00aa00bdce0b)
]
interface ICanvasRenderingContext2D : IDispatch
{
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_CANVAS)] HRESULT canvas([retval, out] IHTMLCanvasElement* * p);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_RESTORE)] HRESULT restore();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_SAVE)] HRESULT save();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_ROTATE)] HRESULT rotate([in] float angle);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_SCALE)] HRESULT scale([in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_SETTRANSFORM)] HRESULT setTransform([in] float m11,[in] float m12,[in] float m21,[in] float m22,[in] float dx,[in] float dy);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_TRANSFORM)] HRESULT transform([in] float m11,[in] float m12,[in] float m21,[in] float m22,[in] float dx,[in] float dy);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_TRANSLATE)] HRESULT translate([in] float x,[in] float y);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_GLOBALALPHA)] HRESULT globalAlpha([in] float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_GLOBALALPHA)] HRESULT globalAlpha([retval, out] float * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_GLOBALCOMPOSITEOPERATION)] HRESULT globalCompositeOperation([in] BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_GLOBALCOMPOSITEOPERATION)] HRESULT globalCompositeOperation([retval, out] BSTR * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_FILLSTYLE)] HRESULT fillStyle([in] VARIANT v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_FILLSTYLE)] HRESULT fillStyle([retval, out] VARIANT * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKESTYLE)] HRESULT strokeStyle([in] VARIANT v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKESTYLE)] HRESULT strokeStyle([retval, out] VARIANT * p);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CREATELINEARGRADIENT)] HRESULT createLinearGradient([in] float x0,[in] float y0,[in] float x1,[in] float y1,[retval, out] ICanvasGradient** ppCanvasGradient);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CREATERADIALGRADIENT)] HRESULT createRadialGradient([in] float x0,[in] float y0,[in] float r0,[in] float x1,[in] float y1,[in] float r1,[retval, out] ICanvasGradient** ppCanvasGradient);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CREATEPATTERN)] HRESULT createPattern([in] IDispatch* image,[in] VARIANT repetition,[retval, out] ICanvasPattern** ppCanvasPattern);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINECAP)] HRESULT lineCap([in] BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINECAP)] HRESULT lineCap([retval, out] BSTR * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINEJOIN)] HRESULT lineJoin([in] BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINEJOIN)] HRESULT lineJoin([retval, out] BSTR * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINEWIDTH)] HRESULT lineWidth([in] float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINEWIDTH)] HRESULT lineWidth([retval, out] float * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_MITERLIMIT)] HRESULT miterLimit([in] float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_MITERLIMIT)] HRESULT miterLimit([retval, out] float * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWBLUR)] HRESULT shadowBlur([in] float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWBLUR)] HRESULT shadowBlur([retval, out] float * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWCOLOR)] HRESULT shadowColor([in] BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWCOLOR)] HRESULT shadowColor([retval, out] BSTR * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWOFFSETX)] HRESULT shadowOffsetX([in] float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWOFFSETX)] HRESULT shadowOffsetX([retval, out] float * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWOFFSETY)] HRESULT shadowOffsetY([in] float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWOFFSETY)] HRESULT shadowOffsetY([retval, out] float * p);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CLEARRECT)] HRESULT clearRect([in] float x,[in] float y,[in] float w,[in] float h);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_FILLRECT)] HRESULT fillRect([in] float x,[in] float y,[in] float w,[in] float h);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKERECT)] HRESULT strokeRect([in] float x,[in] float y,[in] float w,[in] float h);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_ARC)] HRESULT arc([in] float x,[in] float y,[in] float radius,[in] float startAngle,[in] float endAngle,[in] BOOL anticlockwise);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_ARCTO)] HRESULT arcTo([in] float x1,[in] float y1,[in] float x2,[in] float y2,[in] float radius);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_BEGINPATH)] HRESULT beginPath();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_BEZIERCURVETO)] HRESULT bezierCurveTo([in] float cp1x,[in] float cp1y,[in] float cp2x,[in] float cp2y,[in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CLIP)] HRESULT clip();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CLOSEPATH)] HRESULT closePath();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_FILL)] HRESULT fill();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_LINETO)] HRESULT lineTo([in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_MOVETO)] HRESULT moveTo([in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_QUADRATICCURVETO)] HRESULT quadraticCurveTo([in] float cpx,[in] float cpy,[in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_RECT)] HRESULT rect([in] float x,[in] float y,[in] float w,[in] float h);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKE)] HRESULT stroke();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_ISPOINTINPATH)] HRESULT isPointInPath([in] float x,[in] float y,[retval, out] VARIANT_BOOL* pResult);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_FONT)] HRESULT font([in] BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_FONT)] HRESULT font([retval, out] BSTR * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_TEXTALIGN)] HRESULT textAlign([in] BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_TEXTALIGN)] HRESULT textAlign([retval, out] BSTR * p);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_TEXTBASELINE)] HRESULT textBaseline([in] BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_TEXTBASELINE)] HRESULT textBaseline([retval, out] BSTR * p);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_FILLTEXT)] HRESULT fillText([in] BSTR text,[in] float x,[in] float y,[in] VARIANT maxWidth);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_MEASURETEXT)] HRESULT measureText([in] BSTR text,[retval, out] ICanvasTextMetrics** ppCanvasTextMetrics);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKETEXT)] HRESULT strokeText([in] BSTR text,[in] float x,[in] float y,[in] VARIANT maxWidth);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_DRAWIMAGE)] HRESULT drawImage([in] IDispatch* pSrc,[in] VARIANT a1,[in] VARIANT a2,[in] VARIANT a3,[in] VARIANT a4,[in] VARIANT a5,[in] VARIANT a6,[in] VARIANT a7,[in] VARIANT a8);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CREATEIMAGEDATA)] HRESULT createImageData([in] VARIANT a1,[in] VARIANT a2,[retval, out] ICanvasImageData** ppCanvasImageData);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_GETIMAGEDATA)] HRESULT getImageData([in] float sx,[in] float sy,[in] float sw,[in] float sh,[retval, out] ICanvasImageData** ppCanvasImageData);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_PUTIMAGEDATA)] HRESULT putImageData([in] ICanvasImageData* imagedata,[in] float dx,[in] float dy,[in] VARIANT dirtyX,[in] VARIANT dirtyY,[in] VARIANT dirtyWidth,[in] VARIANT dirtyHeight);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305106e4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCanvasElement : IDispatch
{
    [propput, id(DISPID_IHTMLCANVASELEMENT_WIDTH)] HRESULT width([in] long v);
    [propget, id(DISPID_IHTMLCANVASELEMENT_WIDTH)] HRESULT width([retval, out] long * p);
    [propput, id(DISPID_IHTMLCANVASELEMENT_HEIGHT)] HRESULT height([in] long v);
    [propget, id(DISPID_IHTMLCANVASELEMENT_HEIGHT)] HRESULT height([retval, out] long * p);
    [id(DISPID_IHTMLCANVASELEMENT_GETCONTEXT)] HRESULT getContext([in] BSTR contextId,[retval, out] ICanvasRenderingContext2D** ppContext);
    [id(DISPID_IHTMLCANVASELEMENT_TODATAURL)] HRESULT toDataURL([in] BSTR type,[in] VARIANT jpegquality,[retval, out] BSTR* pUrl);
};
[
    hidden,
    uuid(3059008c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispCanvasGradient
{
properties:
methods:
    [id(DISPID_ICANVASGRADIENT_ADDCOLORSTOP)] void addColorStop([in] float offset,[in] BSTR color);
};
[
    noncreatable,
    uuid(30510715-98b5-11cf-bb82-00aa00bdce0b)
]
coclass CanvasGradient
{
    [default]           dispinterface DispCanvasGradient;
                        interface ICanvasGradient;
};
cpp_quote("EXTERN_C const GUID CLSID_CCanvasGradient;")
[
    hidden,
    uuid(3059008d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispCanvasPattern
{
properties:
methods:
};
[
    noncreatable,
    uuid(30510717-98b5-11cf-bb82-00aa00bdce0b)
]
coclass CanvasPattern
{
    [default]           dispinterface DispCanvasPattern;
                        interface ICanvasPattern;
};
cpp_quote("EXTERN_C const GUID CLSID_CCanvasPattern;")
[
    hidden,
    uuid(3059008e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispCanvasTextMetrics
{
properties:
methods:
    [propget, id(DISPID_ICANVASTEXTMETRICS_WIDTH)] float width();
};
[
    noncreatable,
    uuid(30510719-98b5-11cf-bb82-00aa00bdce0b)
]
coclass CanvasTextMetrics
{
    [default]           dispinterface DispCanvasTextMetrics;
                        interface ICanvasTextMetrics;
};
cpp_quote("EXTERN_C const GUID CLSID_CCanvasTextMetrics;")
[
    hidden,
    uuid(3059008f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispCanvasImageData
{
properties:
methods:
    [propget, id(DISPID_ICANVASIMAGEDATA_WIDTH)] ULONG width();
    [propget, id(DISPID_ICANVASIMAGEDATA_HEIGHT)] ULONG height();
    [propget, id(DISPID_ICANVASIMAGEDATA_DATA)] VARIANT data();
};
[
    noncreatable,
    uuid(3051071b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass CanvasImageData
{
    [default]           dispinterface DispCanvasImageData;
                        interface ICanvasImageData;
};
cpp_quote("EXTERN_C const GUID CLSID_CCanvasImageData;")
[
    hidden,
    uuid(30590082-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispCanvasRenderingContext2D
{
properties:
methods:
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_CANVAS)] IHTMLCanvasElement* canvas();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_RESTORE)] void restore();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_SAVE)] void save();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_ROTATE)] void rotate([in] float angle);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_SCALE)] void scale([in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_SETTRANSFORM)] void setTransform([in] float m11,[in] float m12,[in] float m21,[in] float m22,[in] float dx,[in] float dy);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_TRANSFORM)] void transform([in] float m11,[in] float m12,[in] float m21,[in] float m22,[in] float dx,[in] float dy);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_TRANSLATE)] void translate([in] float x,[in] float y);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_GLOBALALPHA)] void globalAlpha(float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_GLOBALALPHA)] float globalAlpha();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_GLOBALCOMPOSITEOPERATION)] void globalCompositeOperation(BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_GLOBALCOMPOSITEOPERATION)] BSTR globalCompositeOperation();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_FILLSTYLE)] void fillStyle(VARIANT v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_FILLSTYLE)] VARIANT fillStyle();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKESTYLE)] void strokeStyle(VARIANT v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKESTYLE)] VARIANT strokeStyle();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CREATELINEARGRADIENT)] ICanvasGradient* createLinearGradient([in] float x0,[in] float y0,[in] float x1,[in] float y1);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CREATERADIALGRADIENT)] ICanvasGradient* createRadialGradient([in] float x0,[in] float y0,[in] float r0,[in] float x1,[in] float y1,[in] float r1);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CREATEPATTERN)] ICanvasPattern* createPattern([in] IDispatch* image,[in] VARIANT repetition);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINECAP)] void lineCap(BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINECAP)] BSTR lineCap();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINEJOIN)] void lineJoin(BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINEJOIN)] BSTR lineJoin();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINEWIDTH)] void lineWidth(float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_LINEWIDTH)] float lineWidth();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_MITERLIMIT)] void miterLimit(float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_MITERLIMIT)] float miterLimit();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWBLUR)] void shadowBlur(float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWBLUR)] float shadowBlur();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWCOLOR)] void shadowColor(BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWCOLOR)] BSTR shadowColor();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWOFFSETX)] void shadowOffsetX(float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWOFFSETX)] float shadowOffsetX();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWOFFSETY)] void shadowOffsetY(float v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_SHADOWOFFSETY)] float shadowOffsetY();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CLEARRECT)] void clearRect([in] float x,[in] float y,[in] float w,[in] float h);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_FILLRECT)] void fillRect([in] float x,[in] float y,[in] float w,[in] float h);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKERECT)] void strokeRect([in] float x,[in] float y,[in] float w,[in] float h);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_ARC)] void arc([in] float x,[in] float y,[in] float radius,[in] float startAngle,[in] float endAngle,[in] BOOL anticlockwise);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_ARCTO)] void arcTo([in] float x1,[in] float y1,[in] float x2,[in] float y2,[in] float radius);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_BEGINPATH)] void beginPath();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_BEZIERCURVETO)] void bezierCurveTo([in] float cp1x,[in] float cp1y,[in] float cp2x,[in] float cp2y,[in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CLIP)] void clip();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CLOSEPATH)] void closePath();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_FILL)] void fill();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_LINETO)] void lineTo([in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_MOVETO)] void moveTo([in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_QUADRATICCURVETO)] void quadraticCurveTo([in] float cpx,[in] float cpy,[in] float x,[in] float y);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_RECT)] void rect([in] float x,[in] float y,[in] float w,[in] float h);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKE)] void stroke();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_ISPOINTINPATH)] VARIANT_BOOL isPointInPath([in] float x,[in] float y);
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_FONT)] void font(BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_FONT)] BSTR font();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_TEXTALIGN)] void textAlign(BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_TEXTALIGN)] BSTR textAlign();
    [propput, id(DISPID_ICANVASRENDERINGCONTEXT2D_TEXTBASELINE)] void textBaseline(BSTR v);
    [propget, id(DISPID_ICANVASRENDERINGCONTEXT2D_TEXTBASELINE)] BSTR textBaseline();
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_FILLTEXT)] void fillText([in] BSTR text,[in] float x,[in] float y,[in] VARIANT maxWidth);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_MEASURETEXT)] ICanvasTextMetrics* measureText([in] BSTR text);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_STROKETEXT)] void strokeText([in] BSTR text,[in] float x,[in] float y,[in] VARIANT maxWidth);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_DRAWIMAGE)] void drawImage([in] IDispatch* pSrc,[in] VARIANT a1,[in] VARIANT a2,[in] VARIANT a3,[in] VARIANT a4,[in] VARIANT a5,[in] VARIANT a6,[in] VARIANT a7,[in] VARIANT a8);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_CREATEIMAGEDATA)] ICanvasImageData* createImageData([in] VARIANT a1,[in] VARIANT a2);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_GETIMAGEDATA)] ICanvasImageData* getImageData([in] float sx,[in] float sy,[in] float sw,[in] float sh);
    [id(DISPID_ICANVASRENDERINGCONTEXT2D_PUTIMAGEDATA)] void putImageData([in] ICanvasImageData* imagedata,[in] float dx,[in] float dy,[in] VARIANT dirtyX,[in] VARIANT dirtyY,[in] VARIANT dirtyWidth,[in] VARIANT dirtyHeight);
};
[
    noncreatable,
    uuid(30510700-98b5-11cf-bb82-00aa00bdce0b)
]
coclass CanvasRenderingContext2D
{
    [default]           dispinterface DispCanvasRenderingContext2D;
                        interface ICanvasRenderingContext2D;
};
cpp_quote("EXTERN_C const GUID CLSID_CCanvasRenderingContext2D;")
[
    hidden,
    uuid(3059007b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLCanvasElement
{
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [propput, id(DISPID_IHTMLCANVASELEMENT_WIDTH)] void width(long v);
    [propget, id(DISPID_IHTMLCANVASELEMENT_WIDTH)] long width();
    [propput, id(DISPID_IHTMLCANVASELEMENT_HEIGHT)] void height(long v);
    [propget, id(DISPID_IHTMLCANVASELEMENT_HEIGHT)] long height();
    [id(DISPID_IHTMLCANVASELEMENT_GETCONTEXT)] ICanvasRenderingContext2D* getContext([in] BSTR contextId);
    [id(DISPID_IHTMLCANVASELEMENT_TODATAURL)] BSTR toDataURL([in] BSTR type,[in] VARIANT jpegquality);
};
[
    noncreatable,
    uuid(305106e5-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLCanvasElement
{
    [default]           dispinterface DispHTMLCanvasElement;
    [source, default]   dispinterface HTMLElementEvents;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLCanvasElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CHTMLCanvasElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051071e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMProgressEvent : IDispatch
{
    [propget, id(DISPID_IDOMPROGRESSEVENT_LENGTHCOMPUTABLE)] HRESULT lengthComputable([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IDOMPROGRESSEVENT_LOADED)] HRESULT loaded([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IDOMPROGRESSEVENT_TOTAL)] HRESULT total([retval, out] ULONGLONG * p);
    [id(DISPID_IDOMPROGRESSEVENT_INITPROGRESSEVENT)] HRESULT initProgressEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] VARIANT_BOOL lengthComputableArg,[in] ULONGLONG loadedArg,[in] ULONGLONG totalArg);
};
[
    hidden,
    uuid(30590091-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMProgressEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMPROGRESSEVENT_LENGTHCOMPUTABLE)] VARIANT_BOOL lengthComputable();
    [propget, id(DISPID_IDOMPROGRESSEVENT_LOADED)] ULONGLONG loaded();
    [propget, id(DISPID_IDOMPROGRESSEVENT_TOTAL)] ULONGLONG total();
    [id(DISPID_IDOMPROGRESSEVENT_INITPROGRESSEVENT)] void initProgressEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] VARIANT_BOOL lengthComputableArg,[in] ULONGLONG loadedArg,[in] ULONGLONG totalArg);
};
[
    noncreatable,
    uuid(3051071f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMProgressEvent
{
    [default]           dispinterface DispDOMProgressEvent;
                        interface IDOMEvent;
                        interface IDOMProgressEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMProgressEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510720-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMMessageEvent : IDispatch
{
    [propget, id(DISPID_IDOMMESSAGEEVENT_DATA)] HRESULT data([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMMESSAGEEVENT_ORIGIN)] HRESULT origin([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMMESSAGEEVENT_SOURCE)] HRESULT source([retval, out] IHTMLWindow2* * p);
    [id(DISPID_IDOMMESSAGEEVENT_INITMESSAGEEVENT)] HRESULT initMessageEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] BSTR data,[in] BSTR origin,[in] BSTR lastEventId,[in] IHTMLWindow2* source);
};
[
    hidden,
    uuid(30590092-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMMessageEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMMESSAGEEVENT_DATA)] BSTR data();
    [propget, id(DISPID_IDOMMESSAGEEVENT_ORIGIN)] BSTR origin();
    [propget, id(DISPID_IDOMMESSAGEEVENT_SOURCE)] IHTMLWindow2* source();
    [id(DISPID_IDOMMESSAGEEVENT_INITMESSAGEEVENT)] void initMessageEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] BSTR data,[in] BSTR origin,[in] BSTR lastEventId,[in] IHTMLWindow2* source);
};
[
    noncreatable,
    uuid(30510721-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMMessageEvent
{
    [default]           dispinterface DispDOMMessageEvent;
                        interface IDOMEvent;
                        interface IDOMMessageEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMMessageEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510765-98b6-11cf-bb82-00aa00bdce0b)
]
interface IDOMSiteModeEvent : IDispatch
{
    [propget, id(DISPID_IDOMSITEMODEEVENT_BUTTONID)] HRESULT buttonID([retval, out] LONG * p);
    [propget, id(DISPID_IDOMSITEMODEEVENT_ACTIONURL)] HRESULT actionURL([retval, out] BSTR * p);
};
[
    hidden,
    uuid(305900a9-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMSiteModeEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMSITEMODEEVENT_BUTTONID)] LONG buttonID();
    [propget, id(DISPID_IDOMSITEMODEEVENT_ACTIONURL)] BSTR actionURL();
};
[
    noncreatable,
    uuid(30510766-98b6-11cf-bb82-00aa00bdce0b)
]
coclass DOMSiteModeEvent
{
    [default]           dispinterface DispDOMSiteModeEvent;
                        interface IDOMEvent;
                        interface IDOMSiteModeEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMSiteModeEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510722-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMStorageEvent : IDispatch
{
    [propget, id(DISPID_IDOMSTORAGEEVENT_KEY)] HRESULT key([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMSTORAGEEVENT_OLDVALUE)] HRESULT oldValue([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMSTORAGEEVENT_NEWVALUE)] HRESULT newValue([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMSTORAGEEVENT_URL)] HRESULT url([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMSTORAGEEVENT_STORAGEAREA)] HRESULT storageArea([retval, out] IHTMLStorage* * p);
    [id(DISPID_IDOMSTORAGEEVENT_INITSTORAGEEVENT)] HRESULT initStorageEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] BSTR keyArg,[in] BSTR oldValueArg,[in] BSTR newValueArg,[in] BSTR urlArg,[in] IHTMLStorage* storageAreaArg);
};
[
    hidden,
    uuid(30590093-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMStorageEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMSTORAGEEVENT_KEY)] BSTR key();
    [propget, id(DISPID_IDOMSTORAGEEVENT_OLDVALUE)] BSTR oldValue();
    [propget, id(DISPID_IDOMSTORAGEEVENT_NEWVALUE)] BSTR newValue();
    [propget, id(DISPID_IDOMSTORAGEEVENT_URL)] BSTR url();
    [propget, id(DISPID_IDOMSTORAGEEVENT_STORAGEAREA)] IHTMLStorage* storageArea();
    [id(DISPID_IDOMSTORAGEEVENT_INITSTORAGEEVENT)] void initStorageEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] BSTR keyArg,[in] BSTR oldValueArg,[in] BSTR newValueArg,[in] BSTR urlArg,[in] IHTMLStorage* storageAreaArg);
};
[
    noncreatable,
    uuid(30510723-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMStorageEvent
{
    [default]           dispinterface DispDOMStorageEvent;
                        interface IDOMEvent;
                        interface IDOMStorageEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMStorageEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510830-98b5-11cf-bb82-00aa00bdce0b)
]
interface IXMLHttpRequestEventTarget : IDispatch
{
};
[
    hidden,
    uuid(305900e7-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispXMLHttpRequestEventTarget
{
properties:
methods:
    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)] void addEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)] void removeEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)] VARIANT_BOOL dispatchEvent([in] IDOMEvent* evt);
};
[
    noncreatable,
    uuid(30510831-98b5-11cf-bb82-00aa00bdce0b)
]
coclass XMLHttpRequestEventTarget
{
    [default]           dispinterface DispXMLHttpRequestEventTarget;
                        interface IXMLHttpRequestEventTarget;
                        interface IEventTarget;
};
cpp_quote("EXTERN_C const GUID CLSID_CXMLHttpRequestEventTarget;")
[
    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();
    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)] void addEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)] void removeEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)] VARIANT_BOOL dispatchEvent([in] IDOMEvent* evt);
};
[
    noncreatable,
    uuid(3051040b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLXMLHttpRequest
{
    [default]           dispinterface DispHTMLXMLHttpRequest;
    [source, default]   dispinterface HTMLXMLHttpRequestEvents;
                        interface IHTMLXMLHttpRequest;
                        interface IHTMLXMLHttpRequest2;
                        interface IHTMLDOMConstructor;
                        interface IEventTarget;
};
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 _svgAngleType
{
    SVG_ANGLETYPE_UNKNOWN = 0,
    SVG_ANGLETYPE_UNSPECIFIED = 1,
    SVG_ANGLETYPE_DEG = 2,
    SVG_ANGLETYPE_RAD = 3,
    SVG_ANGLETYPE_GRAD = 4,
    svgAngleType_Max = 2147483647L
} svgAngleType;

[
    odl,
    oleautomation,
    dual,
    uuid(305104d3-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAngle : IDispatch
{
    [propput, id(DISPID_ISVGANGLE_UNITTYPE)] HRESULT unitType([in] short v);
    [propget, id(DISPID_ISVGANGLE_UNITTYPE)] HRESULT unitType([retval, out] short * p);
    [propput, id(DISPID_ISVGANGLE_VALUE)] HRESULT value([in] float v);
    [propget, id(DISPID_ISVGANGLE_VALUE)] HRESULT value([retval, out] float * p);
    [propput, id(DISPID_ISVGANGLE_VALUEINSPECIFIEDUNITS)] HRESULT valueInSpecifiedUnits([in] float v);
    [propget, id(DISPID_ISVGANGLE_VALUEINSPECIFIEDUNITS)] HRESULT valueInSpecifiedUnits([retval, out] float * p);
    [propput, id(DISPID_ISVGANGLE_VALUEASSTRING)] HRESULT valueAsString([in] BSTR v);
    [propget, id(DISPID_ISVGANGLE_VALUEASSTRING)] HRESULT valueAsString([retval, out] BSTR * p);
    [id(DISPID_ISVGANGLE_NEWVALUESPECIFIEDUNITS)] HRESULT newValueSpecifiedUnits([in] short unitType,[in] float valueInSpecifiedUnits);
    [id(DISPID_ISVGANGLE_CONVERTTOSPECIFIEDUNITS)] HRESULT convertToSpecifiedUnits([in] short unitType);
};
[
    noncreatable,
    uuid(30510584-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAngle
{
    [default]           interface ISVGAngle;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAngle;")
typedef enum _svgExternalResourcesRequired
{
    svgExternalResourcesRequiredFalse = 0,
    svgExternalResourcesRequiredTrue = 1,
    svgExternalResourcesRequired_Max = 2147483647L
} svgExternalResourcesRequired;

interface ISVGElement;
interface ISVGRect;
interface ISVGMatrix;
interface ISVGStringList;
interface ISVGAnimatedRect;
interface ISVGAnimatedString;
interface ISVGAnimatedBoolean;
interface ISVGAnimatedTransformList;
interface ISVGAnimatedPreserveAspectRatio;
[
    odl,
    oleautomation,
    dual,
    uuid(305104da-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGStylable : IDispatch
{
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] HRESULT className([retval, out] ISVGAnimatedString* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104db-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGLocatable : IDispatch
{
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] HRESULT nearestViewportElement([retval, out] ISVGElement* * p);
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] HRESULT farthestViewportElement([retval, out] ISVGElement* * p);
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] HRESULT getBBox([retval, out] ISVGRect** ppResult);
    [id(DISPID_ISVGLOCATABLE_GETCTM)] HRESULT getCTM([retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] HRESULT getScreenCTM([retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] HRESULT getTransformToElement([in] ISVGElement* pElement,[retval, out] ISVGMatrix** ppResult);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104dc-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTransformable : IDispatch
{
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] HRESULT transform([retval, out] ISVGAnimatedTransformList* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104dd-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTests : IDispatch
{
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] HRESULT requiredFeatures([retval, out] ISVGStringList* * p);
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] HRESULT requiredExtensions([retval, out] ISVGStringList* * p);
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] HRESULT systemLanguage([retval, out] ISVGStringList* * p);
    [id(DISPID_ISVGTESTS_HASEXTENSION)] HRESULT hasExtension([in] BSTR extension,[retval, out] VARIANT_BOOL* pResult);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104de-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGLangSpace : IDispatch
{
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] HRESULT xmllang([in] BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] HRESULT xmllang([retval, out] BSTR * p);
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] HRESULT xmlspace([in] BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] HRESULT xmlspace([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104df-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGExternalResourcesRequired : IDispatch
{
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] HRESULT externalResourcesRequired([retval, out] ISVGAnimatedBoolean* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104e0-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGFitToViewBox : IDispatch
{
    [propget, id(DISPID_ISVGFITTOVIEWBOX_VIEWBOX)] HRESULT viewBox([retval, out] ISVGAnimatedRect* * p);
    [propputref, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] HRESULT preserveAspectRatio([in] ISVGAnimatedPreserveAspectRatio* v);
    [propget, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] HRESULT preserveAspectRatio([retval, out] ISVGAnimatedPreserveAspectRatio* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104e1-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGZoomAndPan : IDispatch
{
    [propget, id(DISPID_ISVGZOOMANDPAN_ZOOMANDPAN)] HRESULT zoomAndPan([retval, out] short * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104e3-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGURIReference : IDispatch
{
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] HRESULT href([retval, out] ISVGAnimatedString* * p);
};
interface ISVGAngle;
[
    odl,
    oleautomation,
    dual,
    uuid(305104d4-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedAngle : IDispatch
{
    [propputref, id(DISPID_ISVGANIMATEDANGLE_BASEVAL)] HRESULT baseVal([in] ISVGAngle* v);
    [propget, id(DISPID_ISVGANIMATEDANGLE_BASEVAL)] HRESULT baseVal([retval, out] ISVGAngle* * p);
    [propputref, id(DISPID_ISVGANIMATEDANGLE_ANIMVAL)] HRESULT animVal([in] ISVGAngle* v);
    [propget, id(DISPID_ISVGANIMATEDANGLE_ANIMVAL)] HRESULT animVal([retval, out] ISVGAngle* * p);
};
[
    noncreatable,
    uuid(305105e4-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedAngle
{
    [default]           interface ISVGAnimatedAngle;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedAngle;")
interface ISVGTransformList;
[
    odl,
    oleautomation,
    dual,
    uuid(305104f9-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedTransformList : IDispatch
{
    [propputref, id(DISPID_ISVGANIMATEDTRANSFORMLIST_BASEVAL)] HRESULT baseVal([in] ISVGTransformList* v);
    [propget, id(DISPID_ISVGANIMATEDTRANSFORMLIST_BASEVAL)] HRESULT baseVal([retval, out] ISVGTransformList* * p);
    [propputref, id(DISPID_ISVGANIMATEDTRANSFORMLIST_ANIMVAL)] HRESULT animVal([in] ISVGTransformList* v);
    [propget, id(DISPID_ISVGANIMATEDTRANSFORMLIST_ANIMVAL)] HRESULT animVal([retval, out] ISVGTransformList* * p);
};
[
    noncreatable,
    uuid(305105b1-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedTransformList
{
    [default]           interface ISVGAnimatedTransformList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedTransformList;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104c6-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedBoolean : IDispatch
{
    [propput, id(DISPID_ISVGANIMATEDBOOLEAN_BASEVAL)] HRESULT baseVal([in] VARIANT_BOOL v);
    [propget, id(DISPID_ISVGANIMATEDBOOLEAN_BASEVAL)] HRESULT baseVal([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ISVGANIMATEDBOOLEAN_ANIMVAL)] HRESULT animVal([in] VARIANT_BOOL v);
    [propget, id(DISPID_ISVGANIMATEDBOOLEAN_ANIMVAL)] HRESULT animVal([retval, out] VARIANT_BOOL * p);
};
[
    noncreatable,
    uuid(3051058b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedBoolean
{
    [default]           interface ISVGAnimatedBoolean;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedBoolean;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104c9-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedEnumeration : IDispatch
{
    [propput, id(DISPID_ISVGANIMATEDENUMERATION_BASEVAL)] HRESULT baseVal([in] USHORT v);
    [propget, id(DISPID_ISVGANIMATEDENUMERATION_BASEVAL)] HRESULT baseVal([retval, out] USHORT * p);
    [propput, id(DISPID_ISVGANIMATEDENUMERATION_ANIMVAL)] HRESULT animVal([in] USHORT v);
    [propget, id(DISPID_ISVGANIMATEDENUMERATION_ANIMVAL)] HRESULT animVal([retval, out] USHORT * p);
};
[
    noncreatable,
    uuid(3051058e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedEnumeration
{
    [default]           interface ISVGAnimatedEnumeration;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedEnumeration;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104ca-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedInteger : IDispatch
{
    [propput, id(DISPID_ISVGANIMATEDINTEGER_BASEVAL)] HRESULT baseVal([in] long v);
    [propget, id(DISPID_ISVGANIMATEDINTEGER_BASEVAL)] HRESULT baseVal([retval, out] long * p);
    [propput, id(DISPID_ISVGANIMATEDINTEGER_ANIMVAL)] HRESULT animVal([in] long v);
    [propget, id(DISPID_ISVGANIMATEDINTEGER_ANIMVAL)] HRESULT animVal([retval, out] long * p);
};
[
    noncreatable,
    uuid(3051058f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedInteger
{
    [default]           interface ISVGAnimatedInteger;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedInteger;")
interface ISVGLength;
[
    odl,
    oleautomation,
    dual,
    uuid(305104d0-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedLength : IDispatch
{
    [propputref, id(DISPID_ISVGANIMATEDLENGTH_BASEVAL)] HRESULT baseVal([in] ISVGLength* v);
    [propget, id(DISPID_ISVGANIMATEDLENGTH_BASEVAL)] HRESULT baseVal([retval, out] ISVGLength* * p);
    [propputref, id(DISPID_ISVGANIMATEDLENGTH_ANIMVAL)] HRESULT animVal([in] ISVGLength* v);
    [propget, id(DISPID_ISVGANIMATEDLENGTH_ANIMVAL)] HRESULT animVal([retval, out] ISVGLength* * p);
};
[
    noncreatable,
    uuid(30510581-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedLength
{
    [default]           interface ISVGAnimatedLength;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedLength;")
interface ISVGLengthList;
[
    odl,
    oleautomation,
    dual,
    uuid(305104d2-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedLengthList : IDispatch
{
    [propputref, id(DISPID_ISVGANIMATEDLENGTHLIST_BASEVAL)] HRESULT baseVal([in] ISVGLengthList* v);
    [propget, id(DISPID_ISVGANIMATEDLENGTHLIST_BASEVAL)] HRESULT baseVal([retval, out] ISVGLengthList* * p);
    [propputref, id(DISPID_ISVGANIMATEDLENGTHLIST_ANIMVAL)] HRESULT animVal([in] ISVGLengthList* v);
    [propget, id(DISPID_ISVGANIMATEDLENGTHLIST_ANIMVAL)] HRESULT animVal([retval, out] ISVGLengthList* * p);
};
[
    noncreatable,
    uuid(30510582-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedLengthList
{
    [default]           interface ISVGAnimatedLengthList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedLengthList;")
interface ISVGNumber;
[
    odl,
    oleautomation,
    dual,
    uuid(305104cc-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedNumber : IDispatch
{
    [propput, id(DISPID_ISVGANIMATEDNUMBER_BASEVAL)] HRESULT baseVal([in] float v);
    [propget, id(DISPID_ISVGANIMATEDNUMBER_BASEVAL)] HRESULT baseVal([retval, out] float * p);
    [propput, id(DISPID_ISVGANIMATEDNUMBER_ANIMVAL)] HRESULT animVal([in] float v);
    [propget, id(DISPID_ISVGANIMATEDNUMBER_ANIMVAL)] HRESULT animVal([retval, out] float * p);
};
[
    noncreatable,
    uuid(30510588-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedNumber
{
    [default]           interface ISVGAnimatedNumber;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedNumber;")
interface ISVGNumberList;
[
    odl,
    oleautomation,
    dual,
    uuid(305104ce-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedNumberList : IDispatch
{
    [propputref, id(DISPID_ISVGANIMATEDNUMBERLIST_BASEVAL)] HRESULT baseVal([in] ISVGNumberList* v);
    [propget, id(DISPID_ISVGANIMATEDNUMBERLIST_BASEVAL)] HRESULT baseVal([retval, out] ISVGNumberList* * p);
    [propputref, id(DISPID_ISVGANIMATEDNUMBERLIST_ANIMVAL)] HRESULT animVal([in] ISVGNumberList* v);
    [propget, id(DISPID_ISVGANIMATEDNUMBERLIST_ANIMVAL)] HRESULT animVal([retval, out] ISVGNumberList* * p);
};
[
    noncreatable,
    uuid(3051058a-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedNumberList
{
    [default]           interface ISVGAnimatedNumberList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedNumberList;")
interface ISVGRect;
[
    odl,
    oleautomation,
    dual,
    uuid(305104d8-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedRect : IDispatch
{
    [propputref, id(DISPID_ISVGANIMATEDRECT_BASEVAL)] HRESULT baseVal([in] ISVGRect* v);
    [propget, id(DISPID_ISVGANIMATEDRECT_BASEVAL)] HRESULT baseVal([retval, out] ISVGRect* * p);
    [propputref, id(DISPID_ISVGANIMATEDRECT_ANIMVAL)] HRESULT animVal([in] ISVGRect* v);
    [propget, id(DISPID_ISVGANIMATEDRECT_ANIMVAL)] HRESULT animVal([retval, out] ISVGRect* * p);
};
[
    noncreatable,
    uuid(30510586-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedRect
{
    [default]           interface ISVGAnimatedRect;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedRect;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104c7-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedString : IDispatch
{
    [propput, id(DISPID_ISVGANIMATEDSTRING_BASEVAL)] HRESULT baseVal([in] BSTR v);
    [propget, id(DISPID_ISVGANIMATEDSTRING_BASEVAL)] HRESULT baseVal([retval, out] BSTR * p);
    [propget, id(DISPID_ISVGANIMATEDSTRING_ANIMVAL)] HRESULT animVal([retval, out] BSTR * p);
};
[
    noncreatable,
    uuid(3051058c-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedString
{
    [default]           interface ISVGAnimatedString;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedString;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051052d-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGClipPathElement : IDispatch
{
    [propputref, id(DISPID_ISVGCLIPPATHELEMENT_CLIPPATHUNITS)] HRESULT clipPathUnits([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGCLIPPATHELEMENT_CLIPPATHUNITS)] HRESULT clipPathUnits([retval, out] ISVGAnimatedEnumeration* * p);
};
[
    hidden,
    uuid(3059003B-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGClipPathElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGCLIPPATHELEMENT_CLIPPATHUNITS)] void clipPathUnits(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGCLIPPATHELEMENT_CLIPPATHUNITS)] ISVGAnimatedEnumeration* clipPathUnits();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
};
[
    noncreatable,
    uuid(305105e6-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGClipPathElement
{
    [default]           dispinterface DispSVGClipPathElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGClipPathElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGLocatable;
                        interface ISVGTransformable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGClipPathElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104e6-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGDocument : IDispatch
{
    [propget, id(DISPID_ISVGDOCUMENT_ROOTELEMENT)] HRESULT rootElement([retval, out] ISVGSVGElement* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305105ab-98b5-11cf-bb82-00aa00bdce0b)
]
interface IGetSVGDocument : IDispatch
{
    [id(DISPID_IGETSVGDOCUMENT_GETSVGDOCUMENT)] HRESULT getSVGDocument([retval, out] IDispatch** ppSVGDocument);
};
typedef enum _svgFocusable
{
    svgFocusableNotSet = 0,
    svgFocusableAuto = 1,
    svgFocusableTrue = 2,
    svgFocusableFalse = 3,
    svgFocusable_Max = 2147483647L
} svgFocusable;

interface ISVGSVGElement;
[
    odl,
    oleautomation,
    dual,
    uuid(305104c5-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGElement : IDispatch
{
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] HRESULT xmlbase([in] BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] HRESULT xmlbase([retval, out] BSTR * p);
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] HRESULT ownerSVGElement([in] ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] HRESULT ownerSVGElement([retval, out] ISVGSVGElement* * p);
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] HRESULT viewportElement([in] ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] HRESULT viewportElement([retval, out] ISVGElement* * p);
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] HRESULT focusable([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] HRESULT focusable([retval, out] ISVGAnimatedEnumeration* * p);
};
[
    hidden,
    uuid(30590000-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [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();
};
[
    noncreatable,
    uuid(30510564-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGElement
{
    [default]           dispinterface DispSVGElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGElement;
                        interface IHTMLElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104d6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IICCSVGColor : IDispatch
{
};
typedef enum _svgLengthType
{
    SVG_LENGTHTYPE_UNKNOWN = 0,
    SVG_LENGTHTYPE_NUMBER = 1,
    SVG_LENGTHTYPE_PERCENTAGE = 2,
    SVG_LENGTHTYPE_EMS = 3,
    SVG_LENGTHTYPE_EXS = 4,
    SVG_LENGTHTYPE_PX = 5,
    SVG_LENGTHTYPE_CM = 6,
    SVG_LENGTHTYPE_MM = 7,
    SVG_LENGTHTYPE_IN = 8,
    SVG_LENGTHTYPE_PT = 9,
    SVG_LENGTHTYPE_PC = 10,
    svgLengthType_Max = 2147483647L
} svgLengthType;

[
    odl,
    oleautomation,
    dual,
    uuid(305104cf-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGLength : IDispatch
{
    [propput, id(DISPID_ISVGLENGTH_UNITTYPE)] HRESULT unitType([in] short v);
    [propget, id(DISPID_ISVGLENGTH_UNITTYPE)] HRESULT unitType([retval, out] short * p);
    [propput, id(DISPID_ISVGLENGTH_VALUE)] HRESULT value([in] float v);
    [propget, id(DISPID_ISVGLENGTH_VALUE)] HRESULT value([retval, out] float * p);
    [propput, id(DISPID_ISVGLENGTH_VALUEINSPECIFIEDUNITS)] HRESULT valueInSpecifiedUnits([in] float v);
    [propget, id(DISPID_ISVGLENGTH_VALUEINSPECIFIEDUNITS)] HRESULT valueInSpecifiedUnits([retval, out] float * p);
    [propput, id(DISPID_ISVGLENGTH_VALUEASSTRING)] HRESULT valueAsString([in] BSTR v);
    [propget, id(DISPID_ISVGLENGTH_VALUEASSTRING)] HRESULT valueAsString([retval, out] BSTR * p);
    [id(DISPID_ISVGLENGTH_NEWVALUESPECIFIEDUNITS)] HRESULT newValueSpecifiedUnits([in] short unitType,[in] float valueInSpecifiedUnits);
    [id(DISPID_ISVGLENGTH_CONVERTTOSPECIFIEDUNITS)] HRESULT convertToSpecifiedUnits([in] short unitType);
};
[
    noncreatable,
    uuid(3051057e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGLength
{
    [default]           interface ISVGLength;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGLength;")
interface ISVGLength;
[
    odl,
    oleautomation,
    dual,
    uuid(305104d1-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGLengthList : IDispatch
{
    [propput, id(DISPID_ISVGLENGTHLIST_NUMBEROFITEMS)] HRESULT numberOfItems([in] long v);
    [propget, id(DISPID_ISVGLENGTHLIST_NUMBEROFITEMS)] HRESULT numberOfItems([retval, out] long * p);
    [id(DISPID_ISVGLENGTHLIST_CLEAR)] HRESULT clear();
    [id(DISPID_ISVGLENGTHLIST_INITIALIZE)] HRESULT initialize([in] ISVGLength* newItem,[retval, out] ISVGLength** ppResult);
    [id(DISPID_ISVGLENGTHLIST_GETITEM)] HRESULT getItem([in] long index,[retval, out] ISVGLength** ppResult);
    [id(DISPID_ISVGLENGTHLIST_INSERTITEMBEFORE)] HRESULT insertItemBefore([in] ISVGLength* newItem,[in] long index,[retval, out] ISVGLength** ppResult);
    [id(DISPID_ISVGLENGTHLIST_REPLACEITEM)] HRESULT replaceItem([in] ISVGLength* newItem,[in] long index,[retval, out] ISVGLength** ppResult);
    [id(DISPID_ISVGLENGTHLIST_REMOVEITEM)] HRESULT removeItem([in] long index,[retval, out] ISVGLength** ppResult);
    [id(DISPID_ISVGLENGTHLIST_APPENDITEM)] HRESULT appendItem([in] ISVGLength* newItem,[retval, out] ISVGLength** ppResult);
};
[
    noncreatable,
    uuid(30510580-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGLengthList
{
    [default]           interface ISVGLengthList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGLengthList;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104f6-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGMatrix : IDispatch
{
    [propput, id(DISPID_ISVGMATRIX_A)] HRESULT a([in] float v);
    [propget, id(DISPID_ISVGMATRIX_A)] HRESULT a([retval, out] float * p);
    [propput, id(DISPID_ISVGMATRIX_B)] HRESULT b([in] float v);
    [propget, id(DISPID_ISVGMATRIX_B)] HRESULT b([retval, out] float * p);
    [propput, id(DISPID_ISVGMATRIX_C)] HRESULT c([in] float v);
    [propget, id(DISPID_ISVGMATRIX_C)] HRESULT c([retval, out] float * p);
    [propput, id(DISPID_ISVGMATRIX_D)] HRESULT d([in] float v);
    [propget, id(DISPID_ISVGMATRIX_D)] HRESULT d([retval, out] float * p);
    [propput, id(DISPID_ISVGMATRIX_E)] HRESULT e([in] float v);
    [propget, id(DISPID_ISVGMATRIX_E)] HRESULT e([retval, out] float * p);
    [propput, id(DISPID_ISVGMATRIX_F)] HRESULT f([in] float v);
    [propget, id(DISPID_ISVGMATRIX_F)] HRESULT f([retval, out] float * p);
    [id(DISPID_ISVGMATRIX_MULTIPLY)] HRESULT multiply([in] ISVGMatrix* secondMatrix,[retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_INVERSE)] HRESULT inverse([retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_TRANSLATE)] HRESULT translate([in] float x,[in] float y,[retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_SCALE)] HRESULT scale([in] float scaleFactor,[retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_SCALENONUNIFORM)] HRESULT scaleNonUniform([in] float scaleFactorX,[in] float scaleFactorY,[retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_ROTATE)] HRESULT rotate([in] float angle,[retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_ROTATEFROMVECTOR)] HRESULT rotateFromVector([in] float x,[in] float y,[retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_FLIPX)] HRESULT flipX([retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_FLIPY)] HRESULT flipY([retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_SKEWX)] HRESULT skewX([in] float angle,[retval, out] ISVGMatrix** ppResult);
    [id(DISPID_ISVGMATRIX_SKEWY)] HRESULT skewY([in] float angle,[retval, out] ISVGMatrix** ppResult);
};
[
    noncreatable,
    uuid(305105ae-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGMatrix
{
    [default]           interface ISVGMatrix;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGMatrix;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104cb-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGNumber : IDispatch
{
    [propput, id(DISPID_ISVGNUMBER_VALUE)] HRESULT value([in] float v);
    [propget, id(DISPID_ISVGNUMBER_VALUE)] HRESULT value([retval, out] float * p);
};
[
    noncreatable,
    uuid(30510587-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGNumber
{
    [default]           interface ISVGNumber;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGNumber;")
interface ISVGNumber;
[
    odl,
    oleautomation,
    dual,
    uuid(305104cd-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGNumberList : IDispatch
{
    [propput, id(DISPID_ISVGNUMBERLIST_NUMBEROFITEMS)] HRESULT numberOfItems([in] long v);
    [propget, id(DISPID_ISVGNUMBERLIST_NUMBEROFITEMS)] HRESULT numberOfItems([retval, out] long * p);
    [id(DISPID_ISVGNUMBERLIST_CLEAR)] HRESULT clear();
    [id(DISPID_ISVGNUMBERLIST_INITIALIZE)] HRESULT initialize([in] ISVGNumber* newItem,[retval, out] ISVGNumber** ppResult);
    [id(DISPID_ISVGNUMBERLIST_GETITEM)] HRESULT getItem([in] long index,[retval, out] ISVGNumber** ppResult);
    [id(DISPID_ISVGNUMBERLIST_INSERTITEMBEFORE)] HRESULT insertItemBefore([in] ISVGNumber* newItem,[in] long index,[retval, out] ISVGNumber** ppResult);
    [id(DISPID_ISVGNUMBERLIST_REPLACEITEM)] HRESULT replaceItem([in] ISVGNumber* newItem,[in] long index,[retval, out] ISVGNumber** ppResult);
    [id(DISPID_ISVGNUMBERLIST_REMOVEITEM)] HRESULT removeItem([in] long index,[retval, out] ISVGNumber** ppResult);
    [id(DISPID_ISVGNUMBERLIST_APPENDITEM)] HRESULT appendItem([in] ISVGNumber* newItem,[retval, out] ISVGNumber** ppResult);
};
[
    noncreatable,
    uuid(30510589-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGNumberList
{
    [default]           interface ISVGNumberList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGNumberList;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510524-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPaint : IDispatch
{
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051052c-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPatternElement : IDispatch
{
    [propputref, id(DISPID_ISVGPATTERNELEMENT_PATTERNUNITS)] HRESULT patternUnits([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_PATTERNUNITS)] HRESULT patternUnits([retval, out] ISVGAnimatedEnumeration* * p);
    [propputref, id(DISPID_ISVGPATTERNELEMENT_PATTERNCONTENTUNITS)] HRESULT patternContentUnits([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_PATTERNCONTENTUNITS)] HRESULT patternContentUnits([retval, out] ISVGAnimatedEnumeration* * p);
    [propputref, id(DISPID_ISVGPATTERNELEMENT_PATTERNTRANSFORM)] HRESULT patternTransform([in] ISVGAnimatedTransformList* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_PATTERNTRANSFORM)] HRESULT patternTransform([retval, out] ISVGAnimatedTransformList* * p);
    [propputref, id(DISPID_ISVGPATTERNELEMENT_X)] HRESULT x([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_X)] HRESULT x([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGPATTERNELEMENT_Y)] HRESULT y([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_Y)] HRESULT y([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGPATTERNELEMENT_WIDTH)] HRESULT width([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_WIDTH)] HRESULT width([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGPATTERNELEMENT_HEIGHT)] HRESULT height([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_HEIGHT)] HRESULT height([retval, out] ISVGAnimatedLength* * p);
};
[
    hidden,
    uuid(3059002c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPatternElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propputref, id(DISPID_ISVGPATTERNELEMENT_PATTERNUNITS)] void patternUnits(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_PATTERNUNITS)] ISVGAnimatedEnumeration* patternUnits();
    [propputref, id(DISPID_ISVGPATTERNELEMENT_PATTERNCONTENTUNITS)] void patternContentUnits(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_PATTERNCONTENTUNITS)] ISVGAnimatedEnumeration* patternContentUnits();
    [propputref, id(DISPID_ISVGPATTERNELEMENT_PATTERNTRANSFORM)] void patternTransform(ISVGAnimatedTransformList* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_PATTERNTRANSFORM)] ISVGAnimatedTransformList* patternTransform();
    [propputref, id(DISPID_ISVGPATTERNELEMENT_X)] void x(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_X)] ISVGAnimatedLength* x();
    [propputref, id(DISPID_ISVGPATTERNELEMENT_Y)] void y(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_Y)] ISVGAnimatedLength* y();
    [propputref, id(DISPID_ISVGPATTERNELEMENT_WIDTH)] void width(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_WIDTH)] ISVGAnimatedLength* width();
    [propputref, id(DISPID_ISVGPATTERNELEMENT_HEIGHT)] void height(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGPATTERNELEMENT_HEIGHT)] ISVGAnimatedLength* height();
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] ISVGAnimatedString* href();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGFITTOVIEWBOX_VIEWBOX)] ISVGAnimatedRect* viewBox();
    [propputref, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] void preserveAspectRatio(ISVGAnimatedPreserveAspectRatio* v);
    [propget, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] ISVGAnimatedPreserveAspectRatio* preserveAspectRatio();
};
[
    noncreatable,
    uuid(305105d4-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPatternElement
{
    [default]           dispinterface DispSVGPatternElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGElement;
                        interface ISVGPatternElement;
                        interface ISVGURIReference;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGFitToViewBox;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPatternElement;")
typedef enum _svgPathSegType
{
    PATHSEG_UNKNOWN = 0,
    PATHSEG_CLOSEPATH = 1,
    PATHSEG_MOVETO_ABS = 2,
    PATHSEG_MOVETO_REL = 3,
    PATHSEG_LINETO_ABS = 4,
    PATHSEG_LINETO_REL = 5,
    PATHSEG_CURVETO_CUBIC_ABS = 6,
    PATHSEG_CURVETO_CUBIC_REL = 7,
    PATHSEG_CURVETO_QUADRATIC_ABS = 8,
    PATHSEG_CURVETO_QUADRATIC_REL = 9,
    PATHSEG_ARC_ABS = 10,
    PATHSEG_ARC_REL = 11,
    PATHSEG_LINETO_HORIZONTAL_ABS = 12,
    PATHSEG_LINETO_HORIZONTAL_REL = 13,
    PATHSEG_LINETO_VERTICAL_ABS = 14,
    PATHSEG_LINETO_VERTICAL_REL = 15,
    PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16,
    PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17,
    PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18,
    PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19,
    svgPathSegType_Max = 2147483647L
} svgPathSegType;

[
    odl,
    oleautomation,
    dual,
    uuid(305104fc-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSeg : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] HRESULT pathSegType([in] short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] HRESULT pathSegType([retval, out] short * p);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] HRESULT pathSegTypeAsLetter([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510506-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegArcAbs : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGARCABS_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCABS_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_Y)] HRESULT y([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCABS_R1)] HRESULT r1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_R1)] HRESULT r1([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCABS_R2)] HRESULT r2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_R2)] HRESULT r2([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCABS_ANGLE)] HRESULT angle([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_ANGLE)] HRESULT angle([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCABS_LARGEARCFLAG)] HRESULT largeArcFlag([in] VARIANT_BOOL v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_LARGEARCFLAG)] HRESULT largeArcFlag([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ISVGPATHSEGARCABS_SWEEPFLAG)] HRESULT sweepFlag([in] VARIANT_BOOL v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_SWEEPFLAG)] HRESULT sweepFlag([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510507-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegArcRel : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGARCREL_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCREL_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_Y)] HRESULT y([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCREL_R1)] HRESULT r1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_R1)] HRESULT r1([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCREL_R2)] HRESULT r2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_R2)] HRESULT r2([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCREL_ANGLE)] HRESULT angle([in] float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_ANGLE)] HRESULT angle([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGARCREL_LARGEARCFLAG)] HRESULT largeArcFlag([in] VARIANT_BOOL v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_LARGEARCFLAG)] HRESULT largeArcFlag([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ISVGPATHSEGARCREL_SWEEPFLAG)] HRESULT sweepFlag([in] VARIANT_BOOL v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_SWEEPFLAG)] HRESULT sweepFlag([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104fd-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegClosePath : IDispatch
{
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104fe-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegMovetoAbs : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGMOVETOABS_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGMOVETOABS_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGMOVETOABS_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGMOVETOABS_Y)] HRESULT y([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104ff-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegMovetoRel : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGMOVETOREL_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGMOVETOREL_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGMOVETOREL_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGMOVETOREL_Y)] HRESULT y([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510500-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegLinetoAbs : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGLINETOABS_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOABS_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGLINETOABS_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOABS_Y)] HRESULT y([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510501-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegLinetoRel : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGLINETOREL_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOREL_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGLINETOREL_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOREL_Y)] HRESULT y([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510502-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegCurvetoCubicAbs : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y)] HRESULT y([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X1)] HRESULT x1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X1)] HRESULT x1([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y1)] HRESULT y1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y1)] HRESULT y1([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X2)] HRESULT x2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X2)] HRESULT x2([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y2)] HRESULT y2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y2)] HRESULT y2([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510503-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegCurvetoCubicRel : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y)] HRESULT y([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X1)] HRESULT x1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X1)] HRESULT x1([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y1)] HRESULT y1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y1)] HRESULT y1([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X2)] HRESULT x2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X2)] HRESULT x2([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y2)] HRESULT y2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y2)] HRESULT y2([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051050c-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegCurvetoCubicSmoothAbs : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_Y)] HRESULT y([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_X2)] HRESULT x2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_X2)] HRESULT x2([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_Y2)] HRESULT y2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_Y2)] HRESULT y2([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051050d-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegCurvetoCubicSmoothRel : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_Y)] HRESULT y([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_X2)] HRESULT x2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_X2)] HRESULT x2([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_Y2)] HRESULT y2([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_Y2)] HRESULT y2([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510504-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegCurvetoQuadraticAbs : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_Y)] HRESULT y([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_X1)] HRESULT x1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_X1)] HRESULT x1([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_Y1)] HRESULT y1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_Y1)] HRESULT y1([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510505-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegCurvetoQuadraticRel : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_Y)] HRESULT y([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_X1)] HRESULT x1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_X1)] HRESULT x1([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_Y1)] HRESULT y1([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_Y1)] HRESULT y1([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051050e-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegCurvetoQuadraticSmoothAbs : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHABS_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHABS_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHABS_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHABS_Y)] HRESULT y([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051050f-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegCurvetoQuadraticSmoothRel : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHREL_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHREL_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHREL_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHREL_Y)] HRESULT y([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510508-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegLinetoHorizontalAbs : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGLINETOHORIZONTALABS_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOHORIZONTALABS_X)] HRESULT x([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510509-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegLinetoHorizontalRel : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGLINETOHORIZONTALREL_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOHORIZONTALREL_X)] HRESULT x([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051050a-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegLinetoVerticalAbs : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGLINETOVERTICALABS_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOVERTICALABS_Y)] HRESULT y([retval, out] float * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051050b-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegLinetoVerticalRel : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGLINETOVERTICALREL_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOVERTICALREL_Y)] HRESULT y([retval, out] float * p);
};
[
    noncreatable,
    uuid(305105b3-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSeg
{
    [default]           interface ISVGPathSeg;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSeg;")
[
    hidden,
    uuid(30590013-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegArcAbs
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGARCABS_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGARCABS_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_Y)] float y();
    [propput, id(DISPID_ISVGPATHSEGARCABS_R1)] void r1(float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_R1)] float r1();
    [propput, id(DISPID_ISVGPATHSEGARCABS_R2)] void r2(float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_R2)] float r2();
    [propput, id(DISPID_ISVGPATHSEGARCABS_ANGLE)] void angle(float v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_ANGLE)] float angle();
    [propput, id(DISPID_ISVGPATHSEGARCABS_LARGEARCFLAG)] void largeArcFlag(VARIANT_BOOL v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_LARGEARCFLAG)] VARIANT_BOOL largeArcFlag();
    [propput, id(DISPID_ISVGPATHSEGARCABS_SWEEPFLAG)] void sweepFlag(VARIANT_BOOL v);
    [propget, id(DISPID_ISVGPATHSEGARCABS_SWEEPFLAG)] VARIANT_BOOL sweepFlag();
};
[
    noncreatable,
    uuid(305105bb-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegArcAbs
{
    [default]           dispinterface DispSVGPathSegArcAbs;
                        interface ISVGPathSeg;
                        interface ISVGPathSegArcAbs;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegArcAbs;")
[
    hidden,
    uuid(30590014-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegArcRel
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGARCREL_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGARCREL_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_Y)] float y();
    [propput, id(DISPID_ISVGPATHSEGARCREL_R1)] void r1(float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_R1)] float r1();
    [propput, id(DISPID_ISVGPATHSEGARCREL_R2)] void r2(float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_R2)] float r2();
    [propput, id(DISPID_ISVGPATHSEGARCREL_ANGLE)] void angle(float v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_ANGLE)] float angle();
    [propput, id(DISPID_ISVGPATHSEGARCREL_LARGEARCFLAG)] void largeArcFlag(VARIANT_BOOL v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_LARGEARCFLAG)] VARIANT_BOOL largeArcFlag();
    [propput, id(DISPID_ISVGPATHSEGARCREL_SWEEPFLAG)] void sweepFlag(VARIANT_BOOL v);
    [propget, id(DISPID_ISVGPATHSEGARCREL_SWEEPFLAG)] VARIANT_BOOL sweepFlag();
};
[
    noncreatable,
    uuid(305105bc-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegArcRel
{
    [default]           dispinterface DispSVGPathSegArcRel;
                        interface ISVGPathSeg;
                        interface ISVGPathSegArcRel;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegArcRel;")
[
    hidden,
    uuid(30590015-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegClosePath
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
};
[
    noncreatable,
    uuid(305105bd-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegClosePath
{
    [default]           dispinterface DispSVGPathSegClosePath;
                        interface ISVGPathSeg;
                        interface ISVGPathSegClosePath;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegClosePath;")
[
    hidden,
    uuid(30590024-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegMovetoAbs
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGMOVETOABS_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGMOVETOABS_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGMOVETOABS_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGMOVETOABS_Y)] float y();
};
[
    noncreatable,
    uuid(305105cc-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegMovetoAbs
{
    [default]           dispinterface DispSVGPathSegMovetoAbs;
                        interface ISVGPathSeg;
                        interface ISVGPathSegMovetoAbs;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegMovetoAbs;")
[
    hidden,
    uuid(30590025-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegMovetoRel
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGMOVETOREL_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGMOVETOREL_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGMOVETOREL_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGMOVETOREL_Y)] float y();
};
[
    noncreatable,
    uuid(305105cd-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegMovetoRel
{
    [default]           dispinterface DispSVGPathSegMovetoRel;
                        interface ISVGPathSeg;
                        interface ISVGPathSegMovetoRel;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegMovetoRel;")
[
    hidden,
    uuid(3059001e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegLinetoAbs
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGLINETOABS_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOABS_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGLINETOABS_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOABS_Y)] float y();
};
[
    noncreatable,
    uuid(305105c6-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegLinetoAbs
{
    [default]           dispinterface DispSVGPathSegLinetoAbs;
                        interface ISVGPathSeg;
                        interface ISVGPathSegLinetoAbs;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegLinetoAbs;")
[
    hidden,
    uuid(30590021-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegLinetoRel
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGLINETOREL_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOREL_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGLINETOREL_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOREL_Y)] float y();
};
[
    noncreatable,
    uuid(305105c9-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegLinetoRel
{
    [default]           dispinterface DispSVGPathSegLinetoRel;
                        interface ISVGPathSeg;
                        interface ISVGPathSegLinetoRel;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegLinetoRel;")
[
    hidden,
    uuid(30590016-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegCurvetoCubicAbs
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y)] float y();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X1)] void x1(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X1)] float x1();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y1)] void y1(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y1)] float y1();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X2)] void x2(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_X2)] float x2();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y2)] void y2(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICABS_Y2)] float y2();
};
[
    noncreatable,
    uuid(305105be-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegCurvetoCubicAbs
{
    [default]           dispinterface DispSVGPathSegCurvetoCubicAbs;
                        interface ISVGPathSeg;
                        interface ISVGPathSegCurvetoCubicAbs;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicAbs;")
[
    hidden,
    uuid(30590017-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegCurvetoCubicRel
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y)] float y();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X1)] void x1(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X1)] float x1();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y1)] void y1(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y1)] float y1();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X2)] void x2(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_X2)] float x2();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y2)] void y2(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICREL_Y2)] float y2();
};
[
    noncreatable,
    uuid(305105bf-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegCurvetoCubicRel
{
    [default]           dispinterface DispSVGPathSegCurvetoCubicRel;
                        interface ISVGPathSeg;
                        interface ISVGPathSegCurvetoCubicRel;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicRel;")
[
    hidden,
    uuid(30590018-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegCurvetoCubicSmoothAbs
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_Y)] float y();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_X2)] void x2(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_X2)] float x2();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_Y2)] void y2(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHABS_Y2)] float y2();
};
[
    noncreatable,
    uuid(305105c0-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegCurvetoCubicSmoothAbs
{
    [default]           dispinterface DispSVGPathSegCurvetoCubicSmoothAbs;
                        interface ISVGPathSeg;
                        interface ISVGPathSegCurvetoCubicSmoothAbs;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicSmoothAbs;")
[
    hidden,
    uuid(30590019-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegCurvetoCubicSmoothRel
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_Y)] float y();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_X2)] void x2(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_X2)] float x2();
    [propput, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_Y2)] void y2(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOCUBICSMOOTHREL_Y2)] float y2();
};
[
    noncreatable,
    uuid(305105c1-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegCurvetoCubicSmoothRel
{
    [default]           dispinterface DispSVGPathSegCurvetoCubicSmoothRel;
                        interface ISVGPathSeg;
                        interface ISVGPathSegCurvetoCubicSmoothRel;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicSmoothRel;")
[
    hidden,
    uuid(3059001a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegCurvetoQuadraticAbs
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_Y)] float y();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_X1)] void x1(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_X1)] float x1();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_Y1)] void y1(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICABS_Y1)] float y1();
};
[
    noncreatable,
    uuid(305105c2-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegCurvetoQuadraticAbs
{
    [default]           dispinterface DispSVGPathSegCurvetoQuadraticAbs;
                        interface ISVGPathSeg;
                        interface ISVGPathSegCurvetoQuadraticAbs;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticAbs;")
[
    hidden,
    uuid(3059001b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegCurvetoQuadraticRel
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_Y)] float y();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_X1)] void x1(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_X1)] float x1();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_Y1)] void y1(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICREL_Y1)] float y1();
};
[
    noncreatable,
    uuid(305105c3-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegCurvetoQuadraticRel
{
    [default]           dispinterface DispSVGPathSegCurvetoQuadraticRel;
                        interface ISVGPathSeg;
                        interface ISVGPathSegCurvetoQuadraticRel;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticRel;")
[
    hidden,
    uuid(3059001c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegCurvetoQuadraticSmoothAbs
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHABS_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHABS_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHABS_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHABS_Y)] float y();
};
[
    noncreatable,
    uuid(305105c4-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegCurvetoQuadraticSmoothAbs
{
    [default]           dispinterface DispSVGPathSegCurvetoQuadraticSmoothAbs;
                        interface ISVGPathSeg;
                        interface ISVGPathSegCurvetoQuadraticSmoothAbs;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticSmoothAbs;")
[
    hidden,
    uuid(3059001d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegCurvetoQuadraticSmoothRel
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHREL_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHREL_X)] float x();
    [propput, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHREL_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGCURVETOQUADRATICSMOOTHREL_Y)] float y();
};
[
    noncreatable,
    uuid(305105c5-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegCurvetoQuadraticSmoothRel
{
    [default]           dispinterface DispSVGPathSegCurvetoQuadraticSmoothRel;
                        interface ISVGPathSeg;
                        interface ISVGPathSegCurvetoQuadraticSmoothRel;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticSmoothRel;")
[
    hidden,
    uuid(3059001f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegLinetoHorizontalAbs
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGLINETOHORIZONTALABS_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOHORIZONTALABS_X)] float x();
};
[
    noncreatable,
    uuid(305105c7-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegLinetoHorizontalAbs
{
    [default]           dispinterface DispSVGPathSegLinetoHorizontalAbs;
                        interface ISVGPathSeg;
                        interface ISVGPathSegLinetoHorizontalAbs;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegLinetoHorizontalAbs;")
[
    hidden,
    uuid(30590020-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegLinetoHorizontalRel
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGLINETOHORIZONTALREL_X)] void x(float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOHORIZONTALREL_X)] float x();
};
[
    noncreatable,
    uuid(305105c8-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegLinetoHorizontalRel
{
    [default]           dispinterface DispSVGPathSegLinetoHorizontalRel;
                        interface ISVGPathSeg;
                        interface ISVGPathSegLinetoHorizontalRel;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegLinetoHorizontalRel;")
[
    hidden,
    uuid(30590022-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegLinetoVerticalAbs
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGLINETOVERTICALABS_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOVERTICALABS_Y)] float y();
};
[
    noncreatable,
    uuid(305105ca-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegLinetoVerticalAbs
{
    [default]           dispinterface DispSVGPathSegLinetoVerticalAbs;
                        interface ISVGPathSeg;
                        interface ISVGPathSegLinetoVerticalAbs;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegLinetoVerticalAbs;")
[
    hidden,
    uuid(30590023-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathSegLinetoVerticalRel
{
properties:
methods:
    [propput, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] void pathSegType(short v);
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPE)] short pathSegType();
    [propget, id(DISPID_ISVGPATHSEG_PATHSEGTYPEASLETTER)] BSTR pathSegTypeAsLetter();
    [propput, id(DISPID_ISVGPATHSEGLINETOVERTICALREL_Y)] void y(float v);
    [propget, id(DISPID_ISVGPATHSEGLINETOVERTICALREL_Y)] float y();
};
[
    noncreatable,
    uuid(305105cb-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegLinetoVerticalRel
{
    [default]           dispinterface DispSVGPathSegLinetoVerticalRel;
                        interface ISVGPathSeg;
                        interface ISVGPathSegLinetoVerticalRel;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegLinetoVerticalRel;")
interface ISVGPathSeg;
[
    odl,
    oleautomation,
    dual,
    uuid(30510510-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathSegList : IDispatch
{
    [propput, id(DISPID_ISVGPATHSEGLIST_NUMBEROFITEMS)] HRESULT numberOfItems([in] long v);
    [propget, id(DISPID_ISVGPATHSEGLIST_NUMBEROFITEMS)] HRESULT numberOfItems([retval, out] long * p);
    [id(DISPID_ISVGPATHSEGLIST_CLEAR)] HRESULT clear();
    [id(DISPID_ISVGPATHSEGLIST_INITIALIZE)] HRESULT initialize([in] ISVGPathSeg* newItem,[retval, out] ISVGPathSeg** ppResult);
    [id(DISPID_ISVGPATHSEGLIST_GETITEM)] HRESULT getItem([in] long index,[retval, out] ISVGPathSeg** ppResult);
    [id(DISPID_ISVGPATHSEGLIST_INSERTITEMBEFORE)] HRESULT insertItemBefore([in] ISVGPathSeg* newItem,[in] long index,[retval, out] ISVGPathSeg** ppResult);
    [id(DISPID_ISVGPATHSEGLIST_REPLACEITEM)] HRESULT replaceItem([in] ISVGPathSeg* newItem,[in] long index,[retval, out] ISVGPathSeg** ppResult);
    [id(DISPID_ISVGPATHSEGLIST_REMOVEITEM)] HRESULT removeItem([in] long index,[retval, out] ISVGPathSeg** ppResult);
    [id(DISPID_ISVGPATHSEGLIST_APPENDITEM)] HRESULT appendItem([in] ISVGPathSeg* newItem,[retval, out] ISVGPathSeg** ppResult);
};
[
    noncreatable,
    uuid(305105b4-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathSegList
{
    [default]           interface ISVGPathSegList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathSegList;")
interface ISVGMatrix;
[
    odl,
    oleautomation,
    dual,
    uuid(305104f4-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPoint : IDispatch
{
    [propput, id(DISPID_ISVGPOINT_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGPOINT_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGPOINT_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGPOINT_Y)] HRESULT y([retval, out] float * p);
    [id(DISPID_ISVGPOINT_MATRIXTRANSFORM)] HRESULT matrixTransform([in] ISVGMatrix* pMatrix,[retval, out] ISVGPoint** ppResult);
};
[
    noncreatable,
    uuid(305105ba-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPoint
{
    [default]           interface ISVGPoint;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPoint;")
interface ISVGPoint;
[
    odl,
    oleautomation,
    dual,
    uuid(305104f5-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPointList : IDispatch
{
    [propput, id(DISPID_ISVGPOINTLIST_NUMBEROFITEMS)] HRESULT numberOfItems([in] long v);
    [propget, id(DISPID_ISVGPOINTLIST_NUMBEROFITEMS)] HRESULT numberOfItems([retval, out] long * p);
    [id(DISPID_ISVGPOINTLIST_CLEAR)] HRESULT clear();
    [id(DISPID_ISVGPOINTLIST_INITIALIZE)] HRESULT initialize([in] ISVGPoint* pNewItem,[retval, out] ISVGPoint** ppResult);
    [id(DISPID_ISVGPOINTLIST_GETITEM)] HRESULT getItem([in] long index,[retval, out] ISVGPoint** ppResult);
    [id(DISPID_ISVGPOINTLIST_INSERTITEMBEFORE)] HRESULT insertItemBefore([in] ISVGPoint* pNewItem,[in] long index,[retval, out] ISVGPoint** ppResult);
    [id(DISPID_ISVGPOINTLIST_REPLACEITEM)] HRESULT replaceItem([in] ISVGPoint* pNewItem,[in] long index,[retval, out] ISVGPoint** ppResult);
    [id(DISPID_ISVGPOINTLIST_REMOVEITEM)] HRESULT removeItem([in] long index,[retval, out] ISVGPoint** ppResult);
    [id(DISPID_ISVGPOINTLIST_APPENDITEM)] HRESULT appendItem([in] ISVGPoint* pNewItem,[retval, out] ISVGPoint** ppResult);
};
[
    noncreatable,
    uuid(305105b9-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPointList
{
    [default]           interface ISVGPointList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPointList;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104d7-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGRect : IDispatch
{
    [propput, id(DISPID_ISVGRECT_X)] HRESULT x([in] float v);
    [propget, id(DISPID_ISVGRECT_X)] HRESULT x([retval, out] float * p);
    [propput, id(DISPID_ISVGRECT_Y)] HRESULT y([in] float v);
    [propget, id(DISPID_ISVGRECT_Y)] HRESULT y([retval, out] float * p);
    [propput, id(DISPID_ISVGRECT_WIDTH)] HRESULT width([in] float v);
    [propget, id(DISPID_ISVGRECT_WIDTH)] HRESULT width([retval, out] float * p);
    [propput, id(DISPID_ISVGRECT_HEIGHT)] HRESULT height([in] float v);
    [propget, id(DISPID_ISVGRECT_HEIGHT)] HRESULT height([retval, out] float * p);
};
[
    noncreatable,
    uuid(30510583-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGRect
{
    [default]           interface ISVGRect;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGRect;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104c8-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGStringList : IDispatch
{
    [propput, id(DISPID_ISVGSTRINGLIST_NUMBEROFITEMS)] HRESULT numberOfItems([in] long v);
    [propget, id(DISPID_ISVGSTRINGLIST_NUMBEROFITEMS)] HRESULT numberOfItems([retval, out] long * p);
    [id(DISPID_ISVGSTRINGLIST_CLEAR)] HRESULT clear();
    [id(DISPID_ISVGSTRINGLIST_INITIALIZE)] HRESULT initialize([in] BSTR newItem,[retval, out] BSTR* ppResult);
    [id(DISPID_ISVGSTRINGLIST_GETITEM)] HRESULT getItem([in] long index,[retval, out] BSTR* ppResult);
    [id(DISPID_ISVGSTRINGLIST_INSERTITEMBEFORE)] HRESULT insertItemBefore([in] BSTR newItem,[in] long index,[retval, out] BSTR* ppResult);
    [id(DISPID_ISVGSTRINGLIST_REPLACEITEM)] HRESULT replaceItem([in] BSTR newItem,[in] long index,[retval, out] BSTR* ppResult);
    [id(DISPID_ISVGSTRINGLIST_REMOVEITEM)] HRESULT removeItem([in] long index,[retval, out] BSTR* ppResult);
    [id(DISPID_ISVGSTRINGLIST_APPENDITEM)] HRESULT appendItem([in] BSTR newItem,[retval, out] BSTR* ppResult);
};
[
    noncreatable,
    uuid(3051058d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGStringList
{
    [default]           interface ISVGStringList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGStringList;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104e2-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGViewSpec : IDispatch
{
};
typedef enum _svgTransformType
{
    SVG_TRANSFORM_UNKNOWN = 0,
    SVG_TRANSFORM_MATRIX = 1,
    SVG_TRANSFORM_TRANSLATE = 2,
    SVG_TRANSFORM_SCALE = 3,
    SVG_TRANSFORM_ROTATE = 4,
    SVG_TRANSFORM_SKEWX = 5,
    SVG_TRANSFORM_SKEWY = 6,
    svgTransformType_Max = 2147483647L
} svgTransformType;

interface ISVGMatrix;
[
    odl,
    oleautomation,
    dual,
    uuid(305104f7-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTransform : IDispatch
{
    [propput, id(DISPID_ISVGTRANSFORM_TYPE)] HRESULT type([in] short v);
    [propget, id(DISPID_ISVGTRANSFORM_TYPE)] HRESULT type([retval, out] short * p);
    [propputref, id(DISPID_ISVGTRANSFORM_MATRIX)] HRESULT matrix([in] ISVGMatrix* v);
    [propget, id(DISPID_ISVGTRANSFORM_MATRIX)] HRESULT matrix([retval, out] ISVGMatrix* * p);
    [propput, id(DISPID_ISVGTRANSFORM_ANGLE)] HRESULT angle([in] float v);
    [propget, id(DISPID_ISVGTRANSFORM_ANGLE)] HRESULT angle([retval, out] float * p);
    [id(DISPID_ISVGTRANSFORM_SETMATRIX)] HRESULT setMatrix([in] ISVGMatrix* matrix);
    [id(DISPID_ISVGTRANSFORM_SETTRANSLATE)] HRESULT setTranslate([in] float tx,[in] float ty);
    [id(DISPID_ISVGTRANSFORM_SETSCALE)] HRESULT setScale([in] float sx,[in] float sy);
    [id(DISPID_ISVGTRANSFORM_SETROTATE)] HRESULT setRotate([in] float angle,[in] float cx,[in] float cy);
    [id(DISPID_ISVGTRANSFORM_SETSKEWX)] HRESULT setSkewX([in] float angle);
    [id(DISPID_ISVGTRANSFORM_SETSKEWY)] HRESULT setSkewY([in] float angle);
};
[
    noncreatable,
    uuid(305105af-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGTransform
{
    [default]           interface ISVGTransform;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGTransform;")
interface IHTMLElement;
[
    odl,
    oleautomation,
    dual,
    uuid(305104e7-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGSVGElement : IDispatch
{
    [propputref, id(DISPID_ISVGSVGELEMENT_X)] HRESULT x([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGSVGELEMENT_X)] HRESULT x([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGSVGELEMENT_Y)] HRESULT y([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGSVGELEMENT_Y)] HRESULT y([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGSVGELEMENT_WIDTH)] HRESULT width([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGSVGELEMENT_WIDTH)] HRESULT width([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGSVGELEMENT_HEIGHT)] HRESULT height([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGSVGELEMENT_HEIGHT)] HRESULT height([retval, out] ISVGAnimatedLength* * p);
    [propput, id(DISPID_ISVGSVGELEMENT_CONTENTSCRIPTTYPE)] HRESULT contentScriptType([in] BSTR v);
    [propget, id(DISPID_ISVGSVGELEMENT_CONTENTSCRIPTTYPE)] HRESULT contentScriptType([retval, out] BSTR * p);
    [propput, id(DISPID_ISVGSVGELEMENT_CONTENTSTYLETYPE)] HRESULT contentStyleType([in] BSTR v);
    [propget, id(DISPID_ISVGSVGELEMENT_CONTENTSTYLETYPE)] HRESULT contentStyleType([retval, out] BSTR * p);
    [propputref, id(DISPID_ISVGSVGELEMENT_VIEWPORT)] HRESULT viewport([in] ISVGRect* v);
    [propget, id(DISPID_ISVGSVGELEMENT_VIEWPORT)] HRESULT viewport([retval, out] ISVGRect* * p);
    [propput, id(DISPID_ISVGSVGELEMENT_PIXELUNITTOMILLIMETERX)] HRESULT pixelUnitToMillimeterX([in] float v);
    [propget, id(DISPID_ISVGSVGELEMENT_PIXELUNITTOMILLIMETERX)] HRESULT pixelUnitToMillimeterX([retval, out] float * p);
    [propput, id(DISPID_ISVGSVGELEMENT_PIXELUNITTOMILLIMETERY)] HRESULT pixelUnitToMillimeterY([in] float v);
    [propget, id(DISPID_ISVGSVGELEMENT_PIXELUNITTOMILLIMETERY)] HRESULT pixelUnitToMillimeterY([retval, out] float * p);
    [propput, id(DISPID_ISVGSVGELEMENT_SCREENPIXELTOMILLIMETERX)] HRESULT screenPixelToMillimeterX([in] float v);
    [propget, id(DISPID_ISVGSVGELEMENT_SCREENPIXELTOMILLIMETERX)] HRESULT screenPixelToMillimeterX([retval, out] float * p);
    [propput, id(DISPID_ISVGSVGELEMENT_SCREENPIXELTOMILLIMETERY)] HRESULT screenPixelToMillimeterY([in] float v);
    [propget, id(DISPID_ISVGSVGELEMENT_SCREENPIXELTOMILLIMETERY)] HRESULT screenPixelToMillimeterY([retval, out] float * p);
    [propput, id(DISPID_ISVGSVGELEMENT_USECURRENTVIEW)] HRESULT useCurrentView([in] VARIANT_BOOL v);
    [propget, id(DISPID_ISVGSVGELEMENT_USECURRENTVIEW)] HRESULT useCurrentView([retval, out] VARIANT_BOOL * p);
    [propputref, id(DISPID_ISVGSVGELEMENT_CURRENTVIEW)] HRESULT currentView([in] ISVGViewSpec* v);
    [propget, id(DISPID_ISVGSVGELEMENT_CURRENTVIEW)] HRESULT currentView([retval, out] ISVGViewSpec* * p);
    [propput, id(DISPID_ISVGSVGELEMENT_CURRENTSCALE)] HRESULT currentScale([in] float v);
    [propget, id(DISPID_ISVGSVGELEMENT_CURRENTSCALE)] HRESULT currentScale([retval, out] float * p);
    [propputref, id(DISPID_ISVGSVGELEMENT_CURRENTTRANSLATE)] HRESULT currentTranslate([in] ISVGPoint* v);
    [propget, id(DISPID_ISVGSVGELEMENT_CURRENTTRANSLATE)] HRESULT currentTranslate([retval, out] ISVGPoint* * p);
    [id(DISPID_ISVGSVGELEMENT_SUSPENDREDRAW)] HRESULT suspendRedraw([in] ULONG maxWaitMilliseconds,[retval, out] ULONG* pResult);
    [id(DISPID_ISVGSVGELEMENT_UNSUSPENDREDRAW)] HRESULT unsuspendRedraw([in] ULONG suspendHandeID);
    [id(DISPID_ISVGSVGELEMENT_UNSUSPENDREDRAWALL)] HRESULT unsuspendRedrawAll();
    [id(DISPID_ISVGSVGELEMENT_FORCEREDRAW)] HRESULT forceRedraw();
    [id(DISPID_ISVGSVGELEMENT_PAUSEANIMATIONS)] HRESULT pauseAnimations();
    [id(DISPID_ISVGSVGELEMENT_UNPAUSEANIMATIONS)] HRESULT unpauseAnimations();
    [id(DISPID_ISVGSVGELEMENT_ANIMATIONSPAUSED)] HRESULT animationsPaused([retval, out] VARIANT_BOOL* pResult);
    [id(DISPID_ISVGSVGELEMENT_GETCURRENTTIME)] HRESULT getCurrentTime([retval, out] float* pResult);
    [id(DISPID_ISVGSVGELEMENT_SETCURRENTTIME)] HRESULT setCurrentTime([in] float seconds);
    [id(DISPID_ISVGSVGELEMENT_GETINTERSECTIONLIST)] HRESULT getIntersectionList([in] ISVGRect* rect,[in] ISVGElement* referenceElement,[retval, out] VARIANT* pResult);
    [id(DISPID_ISVGSVGELEMENT_GETENCLOSURELIST)] HRESULT getEnclosureList([in] ISVGRect* rect,[in] ISVGElement* referenceElement,[retval, out] VARIANT* pResult);
    [id(DISPID_ISVGSVGELEMENT_CHECKINTERSECTION)] HRESULT checkIntersection([in] ISVGElement* element,[in] ISVGRect* rect,[retval, out] VARIANT_BOOL* pResult);
    [id(DISPID_ISVGSVGELEMENT_CHECKENCLOSURE)] HRESULT checkEnclosure([in] ISVGElement* element,[in] ISVGRect* rect,[retval, out] VARIANT_BOOL* pResult);
    [id(DISPID_ISVGSVGELEMENT_DESELECTALL)] HRESULT deselectAll();
    [id(DISPID_ISVGSVGELEMENT_CREATESVGNUMBER)] HRESULT createSVGNumber([retval, out] ISVGNumber** pResult);
    [id(DISPID_ISVGSVGELEMENT_CREATESVGLENGTH)] HRESULT createSVGLength([retval, out] ISVGLength** pResult);
    [id(DISPID_ISVGSVGELEMENT_CREATESVGANGLE)] HRESULT createSVGAngle([retval, out] ISVGAngle** pResult);
    [id(DISPID_ISVGSVGELEMENT_CREATESVGPOINT)] HRESULT createSVGPoint([retval, out] ISVGPoint** pResult);
    [id(DISPID_ISVGSVGELEMENT_CREATESVGMATRIX)] HRESULT createSVGMatrix([retval, out] ISVGMatrix** pResult);
    [id(DISPID_ISVGSVGELEMENT_CREATESVGRECT)] HRESULT createSVGRect([retval, out] ISVGRect** pResult);
    [id(DISPID_ISVGSVGELEMENT_CREATESVGTRANSFORM)] HRESULT createSVGTransform([retval, out] ISVGTransform** pResult);
    [id(DISPID_ISVGSVGELEMENT_CREATESVGTRANSFORMFROMMATRIX)] HRESULT createSVGTransformFromMatrix([in] ISVGMatrix* matrix,[retval, out] ISVGTransform** pResult);
    [id(DISPID_ISVGSVGELEMENT_GETELEMENTBYID)] HRESULT getElementById([in] BSTR elementId,[retval, out] IHTMLElement** pResult);
};
[
    hidden,
    uuid(30590001-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGSVGElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGSVGELEMENT_X)] void x(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGSVGELEMENT_X)] ISVGAnimatedLength* x();
    [propputref, id(DISPID_ISVGSVGELEMENT_Y)] void y(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGSVGELEMENT_Y)] ISVGAnimatedLength* y();
    [propputref, id(DISPID_ISVGSVGELEMENT_WIDTH)] void width(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGSVGELEMENT_WIDTH)] ISVGAnimatedLength* width();
    [propputref, id(DISPID_ISVGSVGELEMENT_HEIGHT)] void height(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGSVGELEMENT_HEIGHT)] ISVGAnimatedLength* height();
    [propput, id(DISPID_ISVGSVGELEMENT_CONTENTSCRIPTTYPE)] void contentScriptType(BSTR v);
    [propget, id(DISPID_ISVGSVGELEMENT_CONTENTSCRIPTTYPE)] BSTR contentScriptType();
    [propput, id(DISPID_ISVGSVGELEMENT_CONTENTSTYLETYPE)] void contentStyleType(BSTR v);
    [propget, id(DISPID_ISVGSVGELEMENT_CONTENTSTYLETYPE)] BSTR contentStyleType();
    [propputref, id(DISPID_ISVGSVGELEMENT_VIEWPORT)] void viewport(ISVGRect* v);
    [propget, id(DISPID_ISVGSVGELEMENT_VIEWPORT)] ISVGRect* viewport();
    [propput, id(DISPID_ISVGSVGELEMENT_PIXELUNITTOMILLIMETERX)] void pixelUnitToMillimeterX(float v);
    [propget, id(DISPID_ISVGSVGELEMENT_PIXELUNITTOMILLIMETERX)] float pixelUnitToMillimeterX();
    [propput, id(DISPID_ISVGSVGELEMENT_PIXELUNITTOMILLIMETERY)] void pixelUnitToMillimeterY(float v);
    [propget, id(DISPID_ISVGSVGELEMENT_PIXELUNITTOMILLIMETERY)] float pixelUnitToMillimeterY();
    [propput, id(DISPID_ISVGSVGELEMENT_SCREENPIXELTOMILLIMETERX)] void screenPixelToMillimeterX(float v);
    [propget, id(DISPID_ISVGSVGELEMENT_SCREENPIXELTOMILLIMETERX)] float screenPixelToMillimeterX();
    [propput, id(DISPID_ISVGSVGELEMENT_SCREENPIXELTOMILLIMETERY)] void screenPixelToMillimeterY(float v);
    [propget, id(DISPID_ISVGSVGELEMENT_SCREENPIXELTOMILLIMETERY)] float screenPixelToMillimeterY();
    [propput, id(DISPID_ISVGSVGELEMENT_USECURRENTVIEW)] void useCurrentView(VARIANT_BOOL v);
    [propget, id(DISPID_ISVGSVGELEMENT_USECURRENTVIEW)] VARIANT_BOOL useCurrentView();
    [propputref, id(DISPID_ISVGSVGELEMENT_CURRENTVIEW)] void currentView(ISVGViewSpec* v);
    [propget, id(DISPID_ISVGSVGELEMENT_CURRENTVIEW)] ISVGViewSpec* currentView();
    [propput, id(DISPID_ISVGSVGELEMENT_CURRENTSCALE)] void currentScale(float v);
    [propget, id(DISPID_ISVGSVGELEMENT_CURRENTSCALE)] float currentScale();
    [propputref, id(DISPID_ISVGSVGELEMENT_CURRENTTRANSLATE)] void currentTranslate(ISVGPoint* v);
    [propget, id(DISPID_ISVGSVGELEMENT_CURRENTTRANSLATE)] ISVGPoint* currentTranslate();
    [id(DISPID_ISVGSVGELEMENT_SUSPENDREDRAW)] ULONG suspendRedraw([in] ULONG maxWaitMilliseconds);
    [id(DISPID_ISVGSVGELEMENT_UNSUSPENDREDRAW)] void unsuspendRedraw([in] ULONG suspendHandeID);
    [id(DISPID_ISVGSVGELEMENT_UNSUSPENDREDRAWALL)] void unsuspendRedrawAll();
    [id(DISPID_ISVGSVGELEMENT_FORCEREDRAW)] void forceRedraw();
    [id(DISPID_ISVGSVGELEMENT_PAUSEANIMATIONS)] void pauseAnimations();
    [id(DISPID_ISVGSVGELEMENT_UNPAUSEANIMATIONS)] void unpauseAnimations();
    [id(DISPID_ISVGSVGELEMENT_ANIMATIONSPAUSED)] VARIANT_BOOL animationsPaused();
    [id(DISPID_ISVGSVGELEMENT_GETCURRENTTIME)] float getCurrentTime();
    [id(DISPID_ISVGSVGELEMENT_SETCURRENTTIME)] void setCurrentTime([in] float seconds);
    [id(DISPID_ISVGSVGELEMENT_GETINTERSECTIONLIST)] VARIANT getIntersectionList([in] ISVGRect* rect,[in] ISVGElement* referenceElement);
    [id(DISPID_ISVGSVGELEMENT_GETENCLOSURELIST)] VARIANT getEnclosureList([in] ISVGRect* rect,[in] ISVGElement* referenceElement);
    [id(DISPID_ISVGSVGELEMENT_CHECKINTERSECTION)] VARIANT_BOOL checkIntersection([in] ISVGElement* element,[in] ISVGRect* rect);
    [id(DISPID_ISVGSVGELEMENT_CHECKENCLOSURE)] VARIANT_BOOL checkEnclosure([in] ISVGElement* element,[in] ISVGRect* rect);
    [id(DISPID_ISVGSVGELEMENT_DESELECTALL)] void deselectAll();
    [id(DISPID_ISVGSVGELEMENT_CREATESVGNUMBER)] ISVGNumber* createSVGNumber();
    [id(DISPID_ISVGSVGELEMENT_CREATESVGLENGTH)] ISVGLength* createSVGLength();
    [id(DISPID_ISVGSVGELEMENT_CREATESVGANGLE)] ISVGAngle* createSVGAngle();
    [id(DISPID_ISVGSVGELEMENT_CREATESVGPOINT)] ISVGPoint* createSVGPoint();
    [id(DISPID_ISVGSVGELEMENT_CREATESVGMATRIX)] ISVGMatrix* createSVGMatrix();
    [id(DISPID_ISVGSVGELEMENT_CREATESVGRECT)] ISVGRect* createSVGRect();
    [id(DISPID_ISVGSVGELEMENT_CREATESVGTRANSFORM)] ISVGTransform* createSVGTransform();
    [id(DISPID_ISVGSVGELEMENT_CREATESVGTRANSFORMFROMMATRIX)] ISVGTransform* createSVGTransformFromMatrix([in] ISVGMatrix* matrix);
    [id(DISPID_ISVGSVGELEMENT_GETELEMENTBYID)] IHTMLElement* getElementById([in] BSTR elementId);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
    [propget, id(DISPID_ISVGFITTOVIEWBOX_VIEWBOX)] ISVGAnimatedRect* viewBox();
    [propputref, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] void preserveAspectRatio(ISVGAnimatedPreserveAspectRatio* v);
    [propget, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] ISVGAnimatedPreserveAspectRatio* preserveAspectRatio();
    [propget, id(DISPID_ISVGZOOMANDPAN_ZOOMANDPAN)] short zoomAndPan();
};
[
    noncreatable,
    uuid(30510574-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGSVGElement
{
    [default]           dispinterface DispSVGSVGElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGSVGElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGLocatable;
                        interface ISVGFitToViewBox;
                        interface ISVGZoomAndPan;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGSVGElement;")
interface ISVGElementInstance;
[
    odl,
    oleautomation,
    dual,
    uuid(305104ed-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGUseElement : IDispatch
{
    [propputref, id(DISPID_ISVGUSEELEMENT_X)] HRESULT x([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGUSEELEMENT_X)] HRESULT x([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGUSEELEMENT_Y)] HRESULT y([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGUSEELEMENT_Y)] HRESULT y([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGUSEELEMENT_WIDTH)] HRESULT width([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGUSEELEMENT_WIDTH)] HRESULT width([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGUSEELEMENT_HEIGHT)] HRESULT height([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGUSEELEMENT_HEIGHT)] HRESULT height([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGUSEELEMENT_INSTANCEROOT)] HRESULT instanceRoot([in] ISVGElementInstance* v);
    [propget, id(DISPID_ISVGUSEELEMENT_INSTANCEROOT)] HRESULT instanceRoot([retval, out] ISVGElementInstance* * p);
    [propputref, id(DISPID_ISVGUSEELEMENT_ANIMATEDINSTANCEROOT)] HRESULT animatedInstanceRoot([in] ISVGElementInstance* v);
    [propget, id(DISPID_ISVGUSEELEMENT_ANIMATEDINSTANCEROOT)] HRESULT animatedInstanceRoot([retval, out] ISVGElementInstance* * p);
};
[
    hidden,
    uuid(30590010-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGUseElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGUSEELEMENT_X)] void x(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGUSEELEMENT_X)] ISVGAnimatedLength* x();
    [propputref, id(DISPID_ISVGUSEELEMENT_Y)] void y(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGUSEELEMENT_Y)] ISVGAnimatedLength* y();
    [propputref, id(DISPID_ISVGUSEELEMENT_WIDTH)] void width(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGUSEELEMENT_WIDTH)] ISVGAnimatedLength* width();
    [propputref, id(DISPID_ISVGUSEELEMENT_HEIGHT)] void height(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGUSEELEMENT_HEIGHT)] ISVGAnimatedLength* height();
    [propputref, id(DISPID_ISVGUSEELEMENT_INSTANCEROOT)] void instanceRoot(ISVGElementInstance* v);
    [propget, id(DISPID_ISVGUSEELEMENT_INSTANCEROOT)] ISVGElementInstance* instanceRoot();
    [propputref, id(DISPID_ISVGUSEELEMENT_ANIMATEDINSTANCEROOT)] void animatedInstanceRoot(ISVGElementInstance* v);
    [propget, id(DISPID_ISVGUSEELEMENT_ANIMATEDINSTANCEROOT)] ISVGElementInstance* animatedInstanceRoot();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] ISVGAnimatedString* href();
};
[
    noncreatable,
    uuid(30510590-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGUseElement
{
    [default]           dispinterface DispSVGUseElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGUseElement;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGURIReference;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGUseElement;")
interface IHTMLStyleSheetRulesAppliedCollection;
interface IRulesApplied;
interface IRulesAppliedCollection;
[
    odl,
    oleautomation,
    dual,
    uuid(305104c0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetRulesAppliedCollection : IDispatch
{
    [id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLStyleSheetRule** ppHTMLStyleSheetRule);
    [propget, id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_PROPERTYAPPLIEDBY)] HRESULT propertyAppliedBy([in] BSTR name,[retval, out] IHTMLStyleSheetRule** ppRule);
    [id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_PROPERTYAPPLIEDTRACE)] HRESULT propertyAppliedTrace([in] BSTR name,[in] long index,[retval, out] IHTMLStyleSheetRule** ppRule);
    [id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_PROPERTYAPPLIEDTRACELENGTH)] HRESULT propertyAppliedTraceLength([in] BSTR name,[retval, out] long* pLength);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104bf-98b5-11cf-bb82-00aa00bdce0b)
]
interface IRulesApplied : IDispatch
{
    [propget, id(DISPID_IRULESAPPLIED_ELEMENT)] HRESULT element([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IRULESAPPLIED_INLINESTYLES)] HRESULT inlineStyles([retval, out] IHTMLStyle* * p);
    [propget, id(DISPID_IRULESAPPLIED_APPLIEDRULES)] HRESULT appliedRules([retval, out] IHTMLStyleSheetRulesAppliedCollection* * p);
    [id(DISPID_IRULESAPPLIED_PROPERTYISINLINE)] HRESULT propertyIsInline([in] BSTR name,[retval, out] VARIANT_BOOL* p);
    [id(DISPID_IRULESAPPLIED_PROPERTYISINHERITABLE)] HRESULT propertyIsInheritable([in] BSTR name,[retval, out] VARIANT_BOOL* p);
    [id(DISPID_IRULESAPPLIED_HASINHERITABLEPROPERTY)] HRESULT hasInheritableProperty([retval, out] VARIANT_BOOL* p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104be-98b5-11cf-bb82-00aa00bdce0b)
]
interface IRulesAppliedCollection : IDispatch
{
    [id(DISPID_IRULESAPPLIEDCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] IRulesApplied** ppRulesApplied);
    [propget, id(DISPID_IRULESAPPLIEDCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IRULESAPPLIEDCOLLECTION_ELEMENT)] HRESULT element([retval, out] IHTMLElement* * p);
    [id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTYINHERITEDFROM)] HRESULT propertyInheritedFrom([in] BSTR name,[retval, out] IRulesApplied** ppRulesApplied);
    [propget, id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTYCOUNT)] HRESULT propertyCount([retval, out] long * p);
    [id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTY)] HRESULT property([in] long index,[retval, out] BSTR* pbstrProperty);
    [id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTYINHERITEDTRACE)] HRESULT propertyInheritedTrace([in] BSTR name,[in] long index,[retval, out] IRulesApplied** ppRulesApplied);
    [id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTYINHERITEDTRACELENGTH)] HRESULT propertyInheritedTraceLength([in] BSTR name,[retval, out] long* pLength);
};
[
    hidden,
    uuid(3050f5a6-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleSheetRulesAppliedCollection
{
properties:
methods:
    [id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_ITEM)] IHTMLStyleSheetRule* item([in] long index);
    [propget, id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_LENGTH)] long length();
    [id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_PROPERTYAPPLIEDBY)] IHTMLStyleSheetRule* propertyAppliedBy([in] BSTR name);
    [id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_PROPERTYAPPLIEDTRACE)] IHTMLStyleSheetRule* propertyAppliedTrace([in] BSTR name,[in] long index);
    [id(DISPID_IHTMLSTYLESHEETRULESAPPLIEDCOLLECTION_PROPERTYAPPLIEDTRACELENGTH)] long propertyAppliedTraceLength([in] BSTR name);
};
[
    noncreatable,
    uuid(eb36f845-2395-4719-b85c-d0d80e184bd9)
]
coclass HTMLStyleSheetRulesAppliedCollection
{
    [default]           dispinterface DispHTMLStyleSheetRulesAppliedCollection;
                        interface IHTMLStyleSheetRulesAppliedCollection;
};
cpp_quote("EXTERN_C const GUID CLSID_CHTMLStyleSheetRulesAppliedCollection;")
[
    hidden,
    uuid(3050f5a5-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispRulesApplied
{
properties:
methods:
    [propget, id(DISPID_IRULESAPPLIED_ELEMENT)] IHTMLElement* element();
    [propget, id(DISPID_IRULESAPPLIED_INLINESTYLES)] IHTMLStyle* inlineStyles();
    [propget, id(DISPID_IRULESAPPLIED_APPLIEDRULES)] IHTMLStyleSheetRulesAppliedCollection* appliedRules();
    [id(DISPID_IRULESAPPLIED_PROPERTYISINLINE)] VARIANT_BOOL propertyIsInline([in] BSTR name);
    [id(DISPID_IRULESAPPLIED_PROPERTYISINHERITABLE)] VARIANT_BOOL propertyIsInheritable([in] BSTR name);
    [id(DISPID_IRULESAPPLIED_HASINHERITABLEPROPERTY)] VARIANT_BOOL hasInheritableProperty();
};
[
    noncreatable,
    uuid(7c803920-7a53-4d26-98ac-fdd23e6b9e01)
]
coclass RulesApplied
{
    [default]           dispinterface DispRulesApplied;
                        interface IRulesApplied;
};
cpp_quote("EXTERN_C const GUID CLSID_CRulesApplied;")
[
    hidden,
    uuid(3050f5a4-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispRulesAppliedCollection
{
properties:
methods:
    [id(DISPID_IRULESAPPLIEDCOLLECTION_ITEM)] IRulesApplied* item([in] long index);
    [propget, id(DISPID_IRULESAPPLIEDCOLLECTION_LENGTH)] long length();
    [propget, id(DISPID_IRULESAPPLIEDCOLLECTION_ELEMENT)] IHTMLElement* element();
    [id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTYINHERITEDFROM)] IRulesApplied* propertyInheritedFrom([in] BSTR name);
    [propget, id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTYCOUNT)] long propertyCount();
    [id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTY)] BSTR property([in] long index);
    [id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTYINHERITEDTRACE)] IRulesApplied* propertyInheritedTrace([in] BSTR name,[in] long index);
    [id(DISPID_IRULESAPPLIEDCOLLECTION_PROPERTYINHERITEDTRACELENGTH)] long propertyInheritedTraceLength([in] BSTR name);
};
[
    noncreatable,
    uuid(671926ee-c3cf-40af-be8f-1cbaee6486e8)
]
coclass RulesAppliedCollection
{
    [default]           dispinterface DispRulesAppliedCollection;
                        interface IRulesAppliedCollection;
};
cpp_quote("EXTERN_C const GUID CLSID_CRulesAppliedCollection;")
[
    hidden,
    uuid(30590070-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLW3CComputedStyle
{
properties:
methods:
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PARENTRULE)] VARIANT parentRule();
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYVALUE)] BSTR getPropertyValue([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_GETPROPERTYPRIORITY)] BSTR getPropertyPriority([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_REMOVEPROPERTY)] BSTR removeProperty([in] BSTR bstrPropertyName);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_SETPROPERTY)] void setProperty([in] BSTR bstrPropertyName,[in] VARIANT* pvarPropertyValue,[defaultvalue(NULL), in] VARIANT* pvarPropertyPriority);
    [id(DISPID_IHTMLCSSSTYLEDECLARATION_ITEM)] BSTR item([in] long index);
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTFAMILY), displaybind, bindable] void fontFamily(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTFAMILY), displaybind, bindable] BSTR fontFamily();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTYLE), displaybind, bindable] void fontStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTYLE), displaybind, bindable] BSTR fontStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTVARIANT), displaybind, bindable] void fontVariant(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTVARIANT), displaybind, bindable] BSTR fontVariant();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTWEIGHT), displaybind, bindable] void fontWeight(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTWEIGHT), displaybind, bindable] BSTR fontWeight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZE), displaybind, bindable] void fontSize(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZE), displaybind, bindable] VARIANT fontSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONT), displaybind, bindable, nonbrowsable] void font(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONT), displaybind, bindable, nonbrowsable] BSTR font();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_COLOR), displaybind, bindable] void color(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_COLOR), displaybind, bindable] VARIANT color();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUND), displaybind, bindable, nonbrowsable] void background(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUND), displaybind, bindable, nonbrowsable] BSTR background();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCOLOR), displaybind, bindable] void backgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCOLOR), displaybind, bindable] VARIANT backgroundColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDIMAGE), displaybind, bindable] void backgroundImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDIMAGE), displaybind, bindable] BSTR backgroundImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDREPEAT), displaybind, bindable] void backgroundRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDREPEAT), displaybind, bindable] BSTR backgroundRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDATTACHMENT), displaybind, bindable] void backgroundAttachment(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDATTACHMENT), displaybind, bindable] BSTR backgroundAttachment();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITION), displaybind, bindable] void backgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITION), displaybind, bindable] BSTR backgroundPosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONX), displaybind, bindable] void backgroundPositionX(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONX), displaybind, bindable] VARIANT backgroundPositionX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONY), displaybind, bindable] void backgroundPositionY(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDPOSITIONY), displaybind, bindable] VARIANT backgroundPositionY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDSPACING), displaybind, bindable] void wordSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDSPACING), displaybind, bindable] VARIANT wordSpacing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LETTERSPACING), displaybind, bindable] void letterSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LETTERSPACING), displaybind, bindable] VARIANT letterSpacing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTDECORATION), displaybind, bindable] void textDecoration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTDECORATION), displaybind, bindable] BSTR textDecoration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_VERTICALALIGN), displaybind, bindable] void verticalAlign(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_VERTICALALIGN), displaybind, bindable] VARIANT verticalAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTTRANSFORM), displaybind, bindable] void textTransform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTTRANSFORM), displaybind, bindable] BSTR textTransform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGN), displaybind, bindable] void textAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGN), displaybind, bindable] BSTR textAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTINDENT), displaybind, bindable] void textIndent(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTINDENT), displaybind, bindable] VARIANT textIndent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEHEIGHT), displaybind, bindable] void lineHeight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEHEIGHT), displaybind, bindable] VARIANT lineHeight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINTOP), displaybind, bindable] void marginTop(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINTOP), displaybind, bindable] VARIANT marginTop();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINRIGHT), displaybind, bindable] void marginRight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINRIGHT), displaybind, bindable] VARIANT marginRight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINBOTTOM), displaybind, bindable] void marginBottom(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINBOTTOM), displaybind, bindable] VARIANT marginBottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINLEFT), displaybind, bindable] void marginLeft(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGINLEFT), displaybind, bindable] VARIANT marginLeft();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGIN), displaybind, bindable, nonbrowsable] void margin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARGIN), displaybind, bindable, nonbrowsable] BSTR margin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGTOP), displaybind, bindable] void paddingTop(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGTOP), displaybind, bindable] VARIANT paddingTop();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGRIGHT), displaybind, bindable] void paddingRight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGRIGHT), displaybind, bindable] VARIANT paddingRight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGBOTTOM), displaybind, bindable] void paddingBottom(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGBOTTOM), displaybind, bindable] VARIANT paddingBottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGLEFT), displaybind, bindable] void paddingLeft(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDINGLEFT), displaybind, bindable] VARIANT paddingLeft();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDING), displaybind, bindable, nonbrowsable] void padding(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PADDING), displaybind, bindable, nonbrowsable] BSTR padding();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDER), displaybind, bindable, nonbrowsable] void border(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDER), displaybind, bindable, nonbrowsable] BSTR border();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOP), displaybind, bindable] void borderTop(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOP), displaybind, bindable] BSTR borderTop();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHT), displaybind, bindable] void borderRight(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHT), displaybind, bindable] BSTR borderRight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOM), displaybind, bindable] void borderBottom(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOM), displaybind, bindable] BSTR borderBottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFT), displaybind, bindable] void borderLeft(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFT), displaybind, bindable] BSTR borderLeft();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLOR), displaybind, bindable] void borderColor(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLOR), displaybind, bindable] BSTR borderColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPCOLOR), displaybind, bindable] void borderTopColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPCOLOR), displaybind, bindable] VARIANT borderTopColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTCOLOR), displaybind, bindable] void borderRightColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTCOLOR), displaybind, bindable] VARIANT borderRightColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMCOLOR), displaybind, bindable] void borderBottomColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMCOLOR), displaybind, bindable] VARIANT borderBottomColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTCOLOR), displaybind, bindable] void borderLeftColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTCOLOR), displaybind, bindable] VARIANT borderLeftColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERWIDTH), displaybind, bindable] void borderWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERWIDTH), displaybind, bindable] BSTR borderWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPWIDTH), displaybind, bindable] void borderTopWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPWIDTH), displaybind, bindable] VARIANT borderTopWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTWIDTH), displaybind, bindable] void borderRightWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTWIDTH), displaybind, bindable] VARIANT borderRightWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMWIDTH), displaybind, bindable] void borderBottomWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMWIDTH), displaybind, bindable] VARIANT borderBottomWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTWIDTH), displaybind, bindable] void borderLeftWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTWIDTH), displaybind, bindable] VARIANT borderLeftWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSTYLE), displaybind, bindable] void borderStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSTYLE), displaybind, bindable] BSTR borderStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPSTYLE), displaybind, bindable] void borderTopStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPSTYLE), displaybind, bindable] BSTR borderTopStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTSTYLE), displaybind, bindable] void borderRightStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRIGHTSTYLE), displaybind, bindable] BSTR borderRightStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMSTYLE), displaybind, bindable] void borderBottomStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMSTYLE), displaybind, bindable] BSTR borderBottomStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTSTYLE), displaybind, bindable] void borderLeftStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERLEFTSTYLE), displaybind, bindable] BSTR borderLeftStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDTH), displaybind, bindable] void width(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDTH), displaybind, bindable] VARIANT width();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_HEIGHT), displaybind, bindable] void height(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_HEIGHT), displaybind, bindable] VARIANT height();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STYLEFLOAT), displaybind, bindable] void styleFloat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STYLEFLOAT), displaybind, bindable] BSTR styleFloat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLEAR), displaybind, bindable] void clear(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLEAR), displaybind, bindable] BSTR clear();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_DISPLAY), displaybind, bindable] void display(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_DISPLAY), displaybind, bindable] BSTR display();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_VISIBILITY), displaybind, bindable] void visibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_VISIBILITY), displaybind, bindable] BSTR visibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLETYPE), displaybind, bindable] void listStyleType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLETYPE), displaybind, bindable] BSTR listStyleType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEPOSITION), displaybind, bindable] void listStylePosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEPOSITION), displaybind, bindable] BSTR listStylePosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEIMAGE), displaybind, bindable] void listStyleImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLEIMAGE), displaybind, bindable] BSTR listStyleImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLE), displaybind, bindable, nonbrowsable] void listStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LISTSTYLE), displaybind, bindable, nonbrowsable] BSTR listStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WHITESPACE), displaybind, bindable] void whiteSpace(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WHITESPACE), displaybind, bindable] BSTR whiteSpace();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TOP), displaybind, bindable] void top(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TOP), displaybind, bindable] VARIANT top();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LEFT), displaybind, bindable] void left(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LEFT), displaybind, bindable] VARIANT left();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZINDEX), displaybind, bindable] void zIndex(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZINDEX), displaybind, bindable] VARIANT zIndex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOW), displaybind, bindable] void overflow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOW), displaybind, bindable] BSTR overflow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKBEFORE), displaybind, bindable] void pageBreakBefore(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKBEFORE), displaybind, bindable] BSTR pageBreakBefore();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKAFTER), displaybind, bindable] void pageBreakAfter(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKAFTER), displaybind, bindable] BSTR pageBreakAfter();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSTEXT), displaybind, bindable, nonbrowsable] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSTEXT), displaybind, bindable, nonbrowsable] BSTR cssText();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CURSOR), displaybind, bindable] void cursor(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CURSOR), displaybind, bindable] BSTR cursor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIP), displaybind, bindable] void clip(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIP), displaybind, bindable] BSTR clip();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILTER), displaybind, bindable] void filter(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILTER), displaybind, bindable] BSTR filter();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TABLELAYOUT), displaybind, bindable] void tableLayout(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TABLELAYOUT), displaybind, bindable] BSTR tableLayout();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLLAPSE), displaybind, bindable] void borderCollapse(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERCOLLAPSE), displaybind, bindable] BSTR borderCollapse();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_DIRECTION), displaybind, bindable] void direction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_DIRECTION), displaybind, bindable] BSTR direction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BEHAVIOR), displaybind, bindable] void behavior(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BEHAVIOR), displaybind, bindable] BSTR behavior();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_POSITION), displaybind, bindable] void position(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_POSITION), displaybind, bindable] BSTR position();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_UNICODEBIDI), displaybind, bindable] void unicodeBidi(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_UNICODEBIDI), displaybind, bindable] BSTR unicodeBidi();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOTTOM), displaybind, bindable] void bottom(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOTTOM), displaybind, bindable] VARIANT bottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RIGHT), displaybind, bindable] void right(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RIGHT), displaybind, bindable] VARIANT right();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_IMEMODE), displaybind, bindable] void imeMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_IMEMODE), displaybind, bindable] BSTR imeMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYALIGN), displaybind, bindable] void rubyAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYALIGN), displaybind, bindable] BSTR rubyAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYPOSITION), displaybind, bindable] void rubyPosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYPOSITION), displaybind, bindable] BSTR rubyPosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYOVERHANG), displaybind, bindable] void rubyOverhang(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_RUBYOVERHANG), displaybind, bindable] BSTR rubyOverhang();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDCHAR), displaybind, bindable] void layoutGridChar(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDCHAR), displaybind, bindable] VARIANT layoutGridChar();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDLINE), displaybind, bindable] void layoutGridLine(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDLINE), displaybind, bindable] VARIANT layoutGridLine();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDMODE), displaybind, bindable] void layoutGridMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDMODE), displaybind, bindable] BSTR layoutGridMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDTYPE), displaybind, bindable] void layoutGridType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRIDTYPE), displaybind, bindable] BSTR layoutGridType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRID), displaybind, bindable, nonbrowsable] void layoutGrid(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTGRID), displaybind, bindable, nonbrowsable] BSTR layoutGrid();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTAUTOSPACE), displaybind, bindable] void textAutospace(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTAUTOSPACE), displaybind, bindable] BSTR textAutospace();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDBREAK), displaybind, bindable] void wordBreak(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDBREAK), displaybind, bindable] BSTR wordBreak();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEBREAK), displaybind, bindable] void lineBreak(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LINEBREAK), displaybind, bindable] BSTR lineBreak();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFY), displaybind, bindable] void textJustify(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFY), displaybind, bindable] BSTR textJustify();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFYTRIM), displaybind, bindable] void textJustifyTrim(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTJUSTIFYTRIM), displaybind, bindable] BSTR textJustifyTrim();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDA), displaybind, bindable] void textKashida(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDA), displaybind, bindable] VARIANT textKashida();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWX), displaybind, bindable] void overflowX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWX), displaybind, bindable] BSTR overflowX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWY), displaybind, bindable] void overflowY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OVERFLOWY), displaybind, bindable] BSTR overflowY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ACCELERATOR), displaybind, bindable] void accelerator(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ACCELERATOR), displaybind, bindable] BSTR accelerator();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTFLOW), displaybind, bindable] void layoutFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_LAYOUTFLOW), displaybind, bindable] BSTR layoutFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZOOM), displaybind, bindable] void zoom(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ZOOM), displaybind, bindable] VARIANT zoom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDWRAP), displaybind, bindable] void wordWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WORDWRAP), displaybind, bindable] BSTR wordWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTUNDERLINEPOSITION), displaybind, bindable] void textUnderlinePosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTUNDERLINEPOSITION), displaybind, bindable] BSTR textUnderlinePosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARBASECOLOR), displaybind, bindable] void scrollbarBaseColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARBASECOLOR), displaybind, bindable] VARIANT scrollbarBaseColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARFACECOLOR), displaybind, bindable] void scrollbarFaceColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARFACECOLOR), displaybind, bindable] VARIANT scrollbarFaceColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] void scrollbar3dLightColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] VARIANT scrollbar3dLightColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARSHADOWCOLOR), displaybind, bindable] void scrollbarShadowColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarShadowColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] void scrollbarHighlightColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] VARIANT scrollbarHighlightColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] void scrollbarDarkShadowColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarDarkShadowColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARARROWCOLOR), displaybind, bindable] void scrollbarArrowColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARARROWCOLOR), displaybind, bindable] VARIANT scrollbarArrowColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARTRACKCOLOR), displaybind, bindable] void scrollbarTrackColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_SCROLLBARTRACKCOLOR), displaybind, bindable] VARIANT scrollbarTrackColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WRITINGMODE), displaybind, bindable] void writingMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WRITINGMODE), displaybind, bindable] BSTR writingMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGNLAST), displaybind, bindable] void textAlignLast(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTALIGNLAST), displaybind, bindable] BSTR textAlignLast();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDASPACE), displaybind, bindable] void textKashidaSpace(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTKASHIDASPACE), displaybind, bindable] VARIANT textKashidaSpace();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTOVERFLOW), displaybind, bindable] void textOverflow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTOVERFLOW), displaybind, bindable] BSTR textOverflow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINHEIGHT), displaybind, bindable] void minHeight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINHEIGHT), displaybind, bindable] VARIANT minHeight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSINTERPOLATIONMODE), displaybind, bindable] void msInterpolationMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSINTERPOLATIONMODE), displaybind, bindable] BSTR msInterpolationMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXHEIGHT), displaybind, bindable] void maxHeight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXHEIGHT), displaybind, bindable] VARIANT maxHeight();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINWIDTH), displaybind, bindable] void minWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MINWIDTH), displaybind, bindable] VARIANT minWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXWIDTH), displaybind, bindable] void maxWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MAXWIDTH), displaybind, bindable] VARIANT maxWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CONTENT), displaybind, bindable] void content(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CONTENT), displaybind, bindable] BSTR content();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CAPTIONSIDE), displaybind, bindable] void captionSide(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CAPTIONSIDE), displaybind, bindable] BSTR captionSide();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERINCREMENT), displaybind, bindable] void counterIncrement(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERINCREMENT), displaybind, bindable] BSTR counterIncrement();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERRESET), displaybind, bindable] void counterReset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_COUNTERRESET), displaybind, bindable] BSTR counterReset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINE), displaybind, bindable] void outline(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINE), displaybind, bindable] BSTR outline();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINEWIDTH), displaybind, bindable] void outlineWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINEWIDTH), displaybind, bindable] VARIANT outlineWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINESTYLE), displaybind, bindable] void outlineStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINESTYLE), displaybind, bindable] BSTR outlineStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINECOLOR), displaybind, bindable] void outlineColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OUTLINECOLOR), displaybind, bindable] VARIANT outlineColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSIZING), displaybind, bindable] void boxSizing(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSIZING), displaybind, bindable] BSTR boxSizing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSPACING), displaybind, bindable] void borderSpacing(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERSPACING), displaybind, bindable] BSTR borderSpacing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ORPHANS), displaybind, bindable] void orphans(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ORPHANS), displaybind, bindable] VARIANT orphans();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDOWS), displaybind, bindable] void widows(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_WIDOWS), displaybind, bindable] VARIANT widows();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKINSIDE), displaybind, bindable] void pageBreakInside(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_PAGEBREAKINSIDE), displaybind, bindable] BSTR pageBreakInside();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_EMPTYCELLS), displaybind, bindable] void emptyCells(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_EMPTYCELLS), displaybind, bindable] BSTR emptyCells();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSBLOCKPROGRESSION), displaybind, bindable] void msBlockProgression(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSBLOCKPROGRESSION), displaybind, bindable] BSTR msBlockProgression();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_QUOTES), displaybind, bindable] void quotes(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_QUOTES), displaybind, bindable] BSTR quotes();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_ALIGNMENTBASELINE), displaybind, bindable] void alignmentBaseline(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_ALIGNMENTBASELINE), displaybind, bindable] BSTR alignmentBaseline();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BASELINESHIFT), displaybind, bindable] void baselineShift(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BASELINESHIFT), displaybind, bindable] VARIANT baselineShift();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_DOMINANTBASELINE), displaybind, bindable] void dominantBaseline(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_DOMINANTBASELINE), displaybind, bindable] BSTR dominantBaseline();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZEADJUST), displaybind, bindable] void fontSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSIZEADJUST), displaybind, bindable] VARIANT fontSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTRETCH), displaybind, bindable] void fontStretch(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FONTSTRETCH), displaybind, bindable] BSTR fontStretch();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_OPACITY), displaybind, bindable] void opacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_OPACITY), displaybind, bindable] VARIANT opacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPPATH), displaybind, bindable] void clipPath(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPPATH), displaybind, bindable] BSTR clipPath();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRULE), displaybind, bindable] void clipRule(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRULE), displaybind, bindable] BSTR clipRule();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILL), displaybind, bindable] void fill(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILL), displaybind, bindable] BSTR fill();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLOPACITY), displaybind, bindable] void fillOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLOPACITY), displaybind, bindable] VARIANT fillOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLRULE), displaybind, bindable] void fillRule(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_FILLRULE), displaybind, bindable] BSTR fillRule();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_KERNING), displaybind, bindable] void kerning(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_KERNING), displaybind, bindable] VARIANT kerning();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKER), displaybind, bindable] void marker(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKER), displaybind, bindable] BSTR marker();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKEREND), displaybind, bindable] void markerEnd(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKEREND), displaybind, bindable] BSTR markerEnd();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERMID), displaybind, bindable] void markerMid(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERMID), displaybind, bindable] BSTR markerMid();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERSTART), displaybind, bindable] void markerStart(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MARKERSTART), displaybind, bindable] BSTR markerStart();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MASK), displaybind, bindable] void mask(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MASK), displaybind, bindable] BSTR mask();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_POINTEREVENTS), displaybind, bindable] void pointerEvents(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_POINTEREVENTS), displaybind, bindable] BSTR pointerEvents();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPCOLOR), displaybind, bindable] void stopColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPCOLOR), displaybind, bindable] VARIANT stopColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPOPACITY), displaybind, bindable] void stopOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STOPOPACITY), displaybind, bindable] VARIANT stopOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKE), displaybind, bindable] void stroke(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKE), displaybind, bindable] BSTR stroke();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHARRAY), displaybind, bindable] void strokeDasharray(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHARRAY), displaybind, bindable] BSTR strokeDasharray();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHOFFSET), displaybind, bindable] void strokeDashoffset(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEDASHOFFSET), displaybind, bindable] VARIANT strokeDashoffset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINECAP), displaybind, bindable] void strokeLinecap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINECAP), displaybind, bindable] BSTR strokeLinecap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINEJOIN), displaybind, bindable] void strokeLinejoin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKELINEJOIN), displaybind, bindable] BSTR strokeLinejoin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEMITERLIMIT), displaybind, bindable] void strokeMiterlimit(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEMITERLIMIT), displaybind, bindable] VARIANT strokeMiterlimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEOPACITY), displaybind, bindable] void strokeOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEOPACITY), displaybind, bindable] VARIANT strokeOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEWIDTH), displaybind, bindable] void strokeWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_STROKEWIDTH), displaybind, bindable] VARIANT strokeWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTANCHOR), displaybind, bindable] void textAnchor(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_TEXTANCHOR), displaybind, bindable] BSTR textAnchor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONHORIZONTAL), displaybind, bindable] void glyphOrientationHorizontal(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONHORIZONTAL), displaybind, bindable] VARIANT glyphOrientationHorizontal();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONVERTICAL), displaybind, bindable] void glyphOrientationVertical(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_GLYPHORIENTATIONVERTICAL), displaybind, bindable] VARIANT glyphOrientationVertical();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRADIUS), displaybind, bindable] void borderRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERRADIUS), displaybind, bindable] BSTR borderRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPLEFTRADIUS), displaybind, bindable] void borderTopLeftRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPLEFTRADIUS), displaybind, bindable] BSTR borderTopLeftRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPRIGHTRADIUS), displaybind, bindable] void borderTopRightRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERTOPRIGHTRADIUS), displaybind, bindable] BSTR borderTopRightRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMRIGHTRADIUS), displaybind, bindable] void borderBottomRightRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMRIGHTRADIUS), displaybind, bindable] BSTR borderBottomRightRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMLEFTRADIUS), displaybind, bindable] void borderBottomLeftRadius(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BORDERBOTTOMLEFTRADIUS), displaybind, bindable] BSTR borderBottomLeftRadius();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPTOP), displaybind, bindable, hidden] void clipTop(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPTOP), displaybind, bindable, hidden] VARIANT clipTop();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRIGHT), displaybind, bindable, hidden] void clipRight(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPRIGHT), displaybind, bindable, hidden] VARIANT clipRight();
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPBOTTOM), displaybind, bindable, hidden] VARIANT clipBottom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPLEFT), displaybind, bindable, hidden] void clipLeft(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CLIPLEFT), displaybind, bindable, hidden] VARIANT clipLeft();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSFLOAT), displaybind, bindable] void cssFloat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_CSSFLOAT), displaybind, bindable] BSTR cssFloat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCLIP), displaybind, bindable] void backgroundClip(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDCLIP), displaybind, bindable] BSTR backgroundClip();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDORIGIN), displaybind, bindable] void backgroundOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDORIGIN), displaybind, bindable] BSTR backgroundOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDSIZE), displaybind, bindable] void backgroundSize(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BACKGROUNDSIZE), displaybind, bindable] BSTR backgroundSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSHADOW), displaybind, bindable] void boxShadow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_BOXSHADOW), displaybind, bindable] BSTR boxShadow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORM), displaybind, bindable] void msTransform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORM), displaybind, bindable] BSTR msTransform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORMORIGIN), displaybind, bindable] void msTransformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION_MSTRANSFORMORIGIN), displaybind, bindable] BSTR msTransformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] void msScrollChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLCHAINING), displaybind, bindable] BSTR msScrollChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] void msContentZooming(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMING), displaybind, bindable] BSTR msContentZooming();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] void msContentZoomSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPTYPE), displaybind, bindable] BSTR msContentZoomSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] void msScrollRails(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLRAILS), displaybind, bindable] BSTR msScrollRails();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] void msContentZoomChaining(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMCHAINING), displaybind, bindable] BSTR msContentZoomChaining();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] void msScrollSnapType(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPTYPE), displaybind, bindable] BSTR msScrollSnapType();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] void msContentZoomLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMIT), displaybind, bindable] BSTR msContentZoomLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] void msContentZoomSnap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAP), displaybind, bindable] BSTR msContentZoomSnap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] void msContentZoomSnapPoints(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMSNAPPOINTS), displaybind, bindable] BSTR msContentZoomSnapPoints();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] void msContentZoomLimitMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMIN), displaybind, bindable] VARIANT msContentZoomLimitMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] void msContentZoomLimitMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSCONTENTZOOMLIMITMAX), displaybind, bindable] VARIANT msContentZoomLimitMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] void msScrollSnapX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPX), displaybind, bindable] BSTR msScrollSnapX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] void msScrollSnapY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPY), displaybind, bindable] BSTR msScrollSnapY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] void msScrollSnapPointsX(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSX), displaybind, bindable] BSTR msScrollSnapPointsX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] void msScrollSnapPointsY(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLSNAPPOINTSY), displaybind, bindable] BSTR msScrollSnapPointsY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] void msGridColumn(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMN), displaybind, bindable] VARIANT msGridColumn();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] void msGridColumnAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNALIGN), displaybind, bindable] BSTR msGridColumnAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] void msGridColumns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNS), displaybind, bindable] BSTR msGridColumns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] void msGridColumnSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDCOLUMNSPAN), displaybind, bindable] VARIANT msGridColumnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] void msGridRow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROW), displaybind, bindable] VARIANT msGridRow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] void msGridRowAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWALIGN), displaybind, bindable] BSTR msGridRowAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] void msGridRows(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWS), displaybind, bindable] BSTR msGridRows();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] void msGridRowSpan(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSGRIDROWSPAN), displaybind, bindable] VARIANT msGridRowSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] void msWrapThrough(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPTHROUGH), displaybind, bindable] BSTR msWrapThrough();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] void msWrapMargin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPMARGIN), displaybind, bindable] VARIANT msWrapMargin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] void msWrapFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSWRAPFLOW), displaybind, bindable] BSTR msWrapFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] void msAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONNAME), displaybind, bindable] BSTR msAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] void msAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDURATION), displaybind, bindable] BSTR msAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] void msAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR msAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] void msAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDELAY), displaybind, bindable] BSTR msAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] void msAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONDIRECTION), displaybind, bindable] BSTR msAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] void msAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONPLAYSTATE), displaybind, bindable] BSTR msAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] void msAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR msAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] void msAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATION), displaybind, bindable] BSTR msAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] void msAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSANIMATIONFILLMODE), displaybind, bindable] BSTR msAnimationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] void colorInterpolationFilters(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLORINTERPOLATIONFILTERS), displaybind, bindable] BSTR colorInterpolationFilters();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] void columnCount(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNCOUNT), displaybind, bindable] VARIANT columnCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] void columnWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNWIDTH), displaybind, bindable] VARIANT columnWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] void columnGap(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNGAP), displaybind, bindable] VARIANT columnGap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] void columnFill(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNFILL), displaybind, bindable] BSTR columnFill();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] void columnSpan(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNSPAN), displaybind, bindable] BSTR columnSpan();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] void columns(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNS), displaybind, bindable, nonbrowsable] BSTR columns();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] void columnRule(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULE), displaybind, bindable] BSTR columnRule();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] void columnRuleColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULECOLOR), displaybind, bindable] VARIANT columnRuleColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] void columnRuleStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULESTYLE), displaybind, bindable] BSTR columnRuleStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] void columnRuleWidth(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_COLUMNRULEWIDTH), displaybind, bindable] VARIANT columnRuleWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] void breakBefore(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKBEFORE), displaybind, bindable] BSTR breakBefore();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] void breakAfter(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKAFTER), displaybind, bindable] BSTR breakAfter();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] void breakInside(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BREAKINSIDE), displaybind, bindable] BSTR breakInside();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] void floodColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODCOLOR), displaybind, bindable] VARIANT floodColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] void floodOpacity(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FLOODOPACITY), displaybind, bindable] VARIANT floodOpacity();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] void lightingColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_LIGHTINGCOLOR), displaybind, bindable] VARIANT lightingColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] void msScrollLimitXMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMIN), displaybind, bindable] VARIANT msScrollLimitXMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] void msScrollLimitYMin(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMIN), displaybind, bindable] VARIANT msScrollLimitYMin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] void msScrollLimitXMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITXMAX), displaybind, bindable] VARIANT msScrollLimitXMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] void msScrollLimitYMax(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMITYMAX), displaybind, bindable] VARIANT msScrollLimitYMax();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] void msScrollLimit(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLLIMIT), displaybind, bindable] BSTR msScrollLimit();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] void textShadow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TEXTSHADOW), displaybind, bindable] BSTR textShadow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] void msFlowFrom(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWFROM), displaybind, bindable] BSTR msFlowFrom();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] void msFlowInto(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLOWINTO), displaybind, bindable] BSTR msFlowInto();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] void msHyphens(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENS), displaybind, bindable] BSTR msHyphens();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] void msHyphenateLimitZone(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITZONE), displaybind, bindable] VARIANT msHyphenateLimitZone();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] void msHyphenateLimitChars(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITCHARS), displaybind, bindable] BSTR msHyphenateLimitChars();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] void msHyphenateLimitLines(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHYPHENATELIMITLINES), displaybind, bindable] VARIANT msHyphenateLimitLines();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] void msHighContrastAdjust(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSHIGHCONTRASTADJUST), displaybind, bindable] BSTR msHighContrastAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] void enableBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ENABLEBACKGROUND), displaybind, bindable] BSTR enableBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] void msFontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFONTFEATURESETTINGS), displaybind, bindable] BSTR msFontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] void msUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSUSERSELECT), displaybind, bindable] BSTR msUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] void msOverflowStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSOVERFLOWSTYLE), displaybind, bindable] BSTR msOverflowStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] void msTransformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSFORMSTYLE), displaybind, bindable] BSTR msTransformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] void msBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSBACKFACEVISIBILITY), displaybind, bindable] BSTR msBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] void msPerspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVE), displaybind, bindable] VARIANT msPerspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] void msPerspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSPERSPECTIVEORIGIN), displaybind, bindable] BSTR msPerspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] void msTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONPROPERTY), displaybind, bindable] BSTR msTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] void msTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDURATION), displaybind, bindable] BSTR msTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] void msTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR msTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] void msTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITIONDELAY), displaybind, bindable] BSTR msTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] void msTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTRANSITION), displaybind, bindable] BSTR msTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] void msTouchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHACTION), displaybind, bindable] BSTR msTouchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] void msScrollTranslation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSSCROLLTRANSLATION), displaybind, bindable] BSTR msScrollTranslation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] void msFlex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEX), displaybind, bindable] BSTR msFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] void msFlexPositive(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPOSITIVE), displaybind, bindable] VARIANT msFlexPositive();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] void msFlexNegative(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXNEGATIVE), displaybind, bindable] VARIANT msFlexNegative();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] void msFlexPreferredSize(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPREFERREDSIZE), displaybind, bindable] VARIANT msFlexPreferredSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] void msFlexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXFLOW), displaybind, bindable] BSTR msFlexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] void msFlexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXDIRECTION), displaybind, bindable] BSTR msFlexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] void msFlexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXWRAP), displaybind, bindable] BSTR msFlexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] void msFlexAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXALIGN), displaybind, bindable] BSTR msFlexAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] void msFlexItemAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXITEMALIGN), displaybind, bindable] BSTR msFlexItemAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] void msFlexPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXPACK), displaybind, bindable] BSTR msFlexPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] void msFlexLinePack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXLINEPACK), displaybind, bindable] BSTR msFlexLinePack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] void msFlexOrder(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSFLEXORDER), displaybind, bindable] VARIANT msFlexOrder();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] void msTouchSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_MSTOUCHSELECT), displaybind, bindable] BSTR msTouchSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] void transform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORM), displaybind, bindable] BSTR transform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] void transformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMORIGIN), displaybind, bindable] BSTR transformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] void transformStyle(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSFORMSTYLE), displaybind, bindable] BSTR transformStyle();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] void backfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_BACKFACEVISIBILITY), displaybind, bindable] BSTR backfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] void perspective(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVE), displaybind, bindable] VARIANT perspective();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] void perspectiveOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_PERSPECTIVEORIGIN), displaybind, bindable] BSTR perspectiveOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] void transitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONPROPERTY), displaybind, bindable] BSTR transitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] void transitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDURATION), displaybind, bindable] BSTR transitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] void transitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR transitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] void transitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITIONDELAY), displaybind, bindable] BSTR transitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] void transition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_TRANSITION), displaybind, bindable] BSTR transition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] void fontFeatureSettings(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_FONTFEATURESETTINGS), displaybind, bindable] BSTR fontFeatureSettings();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] void animationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONNAME), displaybind, bindable] BSTR animationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] void animationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDURATION), displaybind, bindable] BSTR animationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] void animationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR animationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] void animationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDELAY), displaybind, bindable] BSTR animationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] void animationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONDIRECTION), displaybind, bindable] BSTR animationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] void animationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONPLAYSTATE), displaybind, bindable] BSTR animationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] void animationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR animationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] void animation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATION), displaybind, bindable] BSTR animation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] void animationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION2_ANIMATIONFILLMODE), displaybind, bindable] BSTR animationFillMode();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] void flex(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEX), displaybind, bindable] BSTR flex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] void flexDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXDIRECTION), displaybind, bindable] BSTR flexDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] void flexWrap(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXWRAP), displaybind, bindable] BSTR flexWrap();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] void flexFlow(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXFLOW), displaybind, bindable] BSTR flexFlow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] void flexGrow(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXGROW), displaybind, bindable] VARIANT flexGrow();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] void flexShrink(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXSHRINK), displaybind, bindable] VARIANT flexShrink();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] void flexBasis(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_FLEXBASIS), displaybind, bindable] VARIANT flexBasis();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] void justifyContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_JUSTIFYCONTENT), displaybind, bindable] BSTR justifyContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] void alignItems(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNITEMS), displaybind, bindable] BSTR alignItems();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] void alignSelf(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNSELF), displaybind, bindable] BSTR alignSelf();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] void alignContent(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_ALIGNCONTENT), displaybind, bindable] BSTR alignContent();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] void borderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR borderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] void borderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESOURCE), displaybind, bindable] BSTR borderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] void borderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGESLICE), displaybind, bindable] BSTR borderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] void borderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEWIDTH), displaybind, bindable] BSTR borderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] void borderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEOUTSET), displaybind, bindable] BSTR borderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] void borderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_BORDERIMAGEREPEAT), displaybind, bindable] BSTR borderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] void msImeAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSIMEALIGN), displaybind, bindable] BSTR msImeAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] void msTextCombineHorizontal(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_MSTEXTCOMBINEHORIZONTAL), displaybind, bindable] BSTR msTextCombineHorizontal();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] void touchAction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION3_TOUCHACTION), displaybind, bindable] BSTR touchAction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] void webkitAppearance(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITAPPEARANCE), displaybind, bindable] BSTR webkitAppearance();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] void webkitUserSelect(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITUSERSELECT), displaybind, bindable] BSTR webkitUserSelect();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] void webkitBoxAlign(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXALIGN), displaybind, bindable] BSTR webkitBoxAlign();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] void webkitBoxOrdinalGroup(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORDINALGROUP), displaybind, bindable] VARIANT webkitBoxOrdinalGroup();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] void webkitBoxPack(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXPACK), displaybind, bindable] BSTR webkitBoxPack();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] void webkitBoxFlex(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXFLEX), displaybind, bindable] VARIANT webkitBoxFlex();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] void webkitBoxOrient(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXORIENT), displaybind, bindable] BSTR webkitBoxOrient();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] void webkitBoxDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXDIRECTION), displaybind, bindable] BSTR webkitBoxDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] void webkitTransform(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORM), displaybind, bindable] BSTR webkitTransform();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] void webkitBackgroundSize(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDSIZE), displaybind, bindable] BSTR webkitBackgroundSize();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] void webkitBackfaceVisibility(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKFACEVISIBILITY), displaybind, bindable] BSTR webkitBackfaceVisibility();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] void webkitAnimation(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATION), displaybind, bindable] BSTR webkitAnimation();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] void webkitTransition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITION), displaybind, bindable] BSTR webkitTransition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] void webkitAnimationName(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONNAME), displaybind, bindable] BSTR webkitAnimationName();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] void webkitAnimationDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDURATION), displaybind, bindable] BSTR webkitAnimationDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] void webkitAnimationTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitAnimationTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] void webkitAnimationDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDELAY), displaybind, bindable] BSTR webkitAnimationDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] void webkitAnimationIterationCount(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONITERATIONCOUNT), displaybind, bindable] BSTR webkitAnimationIterationCount();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] void webkitAnimationDirection(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONDIRECTION), displaybind, bindable] BSTR webkitAnimationDirection();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] void webkitAnimationPlayState(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONPLAYSTATE), displaybind, bindable] BSTR webkitAnimationPlayState();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] void webkitTransitionProperty(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONPROPERTY), displaybind, bindable] BSTR webkitTransitionProperty();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] void webkitTransitionDuration(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDURATION), displaybind, bindable] BSTR webkitTransitionDuration();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] void webkitTransitionTimingFunction(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONTIMINGFUNCTION), displaybind, bindable] BSTR webkitTransitionTimingFunction();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] void webkitTransitionDelay(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSITIONDELAY), displaybind, bindable] BSTR webkitTransitionDelay();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] void webkitBackgroundAttachment(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDATTACHMENT), displaybind, bindable] BSTR webkitBackgroundAttachment();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] void webkitBackgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCOLOR), displaybind, bindable] VARIANT webkitBackgroundColor();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] void webkitBackgroundClip(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDCLIP), displaybind, bindable] BSTR webkitBackgroundClip();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] void webkitBackgroundImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDIMAGE), displaybind, bindable] BSTR webkitBackgroundImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] void webkitBackgroundRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDREPEAT), displaybind, bindable] BSTR webkitBackgroundRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] void webkitBackgroundOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDORIGIN), displaybind, bindable] BSTR webkitBackgroundOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] void webkitBackgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITION), displaybind, bindable] BSTR webkitBackgroundPosition();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] void webkitBackgroundPositionX(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONX), displaybind, bindable] VARIANT webkitBackgroundPositionX();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] void webkitBackgroundPositionY(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUNDPOSITIONY), displaybind, bindable] VARIANT webkitBackgroundPositionY();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] void webkitBackground(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBACKGROUND), displaybind, bindable, nonbrowsable] BSTR webkitBackground();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] void webkitTransformOrigin(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTRANSFORMORIGIN), displaybind, bindable] BSTR webkitTransformOrigin();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] void msTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_MSTEXTSIZEADJUST), displaybind, bindable] VARIANT msTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] void webkitTextSizeAdjust(VARIANT v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITTEXTSIZEADJUST), displaybind, bindable] VARIANT webkitTextSizeAdjust();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] void webkitBorderImage(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGE), displaybind, bindable, nonbrowsable] BSTR webkitBorderImage();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] void webkitBorderImageSource(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESOURCE), displaybind, bindable] BSTR webkitBorderImageSource();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] void webkitBorderImageSlice(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGESLICE), displaybind, bindable] BSTR webkitBorderImageSlice();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] void webkitBorderImageWidth(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEWIDTH), displaybind, bindable] BSTR webkitBorderImageWidth();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] void webkitBorderImageOutset(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEOUTSET), displaybind, bindable] BSTR webkitBorderImageOutset();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] void webkitBorderImageRepeat(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBORDERIMAGEREPEAT), displaybind, bindable] BSTR webkitBorderImageRepeat();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] void webkitBoxSizing(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITBOXSIZING), displaybind, bindable] BSTR webkitBoxSizing();
    [propput, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] void webkitAnimationFillMode(BSTR v);
    [propget, id(DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKITANIMATIONFILLMODE), displaybind, bindable] BSTR webkitAnimationFillMode();
};
[
    noncreatable,
    uuid(305106c8-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLW3CComputedStyle
{
    [default]           dispinterface DispHTMLW3CComputedStyle;
                        interface IHTMLCSSStyleDeclaration;
                        interface IHTMLCSSStyleDeclaration2;
                        interface IHTMLCSSStyleDeclaration3;
                        interface IHTMLCSSStyleDeclaration4;
};
cpp_quote("EXTERN_C const GUID CLSID_CW3CComputedStyle;")
interface ISVGTransform;
interface ISVGMatrix;
[
    odl,
    oleautomation,
    dual,
    uuid(305104f8-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTransformList : IDispatch
{
    [propput, id(DISPID_ISVGTRANSFORMLIST_NUMBEROFITEMS)] HRESULT numberOfItems([in] long v);
    [propget, id(DISPID_ISVGTRANSFORMLIST_NUMBEROFITEMS)] HRESULT numberOfItems([retval, out] long * p);
    [id(DISPID_ISVGTRANSFORMLIST_CLEAR)] HRESULT clear();
    [id(DISPID_ISVGTRANSFORMLIST_INITIALIZE)] HRESULT initialize([in] ISVGTransform* newItem,[retval, out] ISVGTransform** ppResult);
    [id(DISPID_ISVGTRANSFORMLIST_GETITEM)] HRESULT getItem([in] long index,[retval, out] ISVGTransform** ppResult);
    [id(DISPID_ISVGTRANSFORMLIST_INSERTITEMBEFORE)] HRESULT insertItemBefore([in] ISVGTransform* newItem,[in] long index,[retval, out] ISVGTransform** ppResult);
    [id(DISPID_ISVGTRANSFORMLIST_REPLACEITEM)] HRESULT replaceItem([in] ISVGTransform* newItem,[in] long index,[retval, out] ISVGTransform** ppResult);
    [id(DISPID_ISVGTRANSFORMLIST_REMOVEITEM)] HRESULT removeItem([in] long index,[retval, out] ISVGTransform** ppResult);
    [id(DISPID_ISVGTRANSFORMLIST_APPENDITEM)] HRESULT appendItem([in] ISVGTransform* newItem,[retval, out] ISVGTransform** ppResult);
    [id(DISPID_ISVGTRANSFORMLIST_CREATESVGTRANSFORMFROMMATRIX)] HRESULT createSVGTransformFromMatrix([in] ISVGMatrix* newItem,[retval, out] ISVGTransform** ppResult);
    [id(DISPID_ISVGTRANSFORMLIST_CONSOLIDATE)] HRESULT consolidate([retval, out] ISVGTransform** ppResult);
};
[
    noncreatable,
    uuid(305105b0-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGTransformList
{
    [default]           interface ISVGTransformList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGTransformList;")
interface ISVGPointList;
[
    odl,
    oleautomation,
    dual,
    uuid(30510517-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedPoints : IDispatch
{
    [propputref, id(DISPID_ISVGANIMATEDPOINTS_POINTS)] HRESULT points([in] ISVGPointList* v);
    [propget, id(DISPID_ISVGANIMATEDPOINTS_POINTS)] HRESULT points([retval, out] ISVGPointList* * p);
    [propputref, id(DISPID_ISVGANIMATEDPOINTS_ANIMATEDPOINTS)] HRESULT animatedPoints([in] ISVGPointList* v);
    [propget, id(DISPID_ISVGANIMATEDPOINTS_ANIMATEDPOINTS)] HRESULT animatedPoints([retval, out] ISVGPointList* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510514-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGCircleElement : IDispatch
{
    [propputref, id(DISPID_ISVGCIRCLEELEMENT_CX)] HRESULT cx([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGCIRCLEELEMENT_CX)] HRESULT cx([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGCIRCLEELEMENT_CY)] HRESULT cy([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGCIRCLEELEMENT_CY)] HRESULT cy([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGCIRCLEELEMENT_R)] HRESULT r([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGCIRCLEELEMENT_R)] HRESULT r([retval, out] ISVGAnimatedLength* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510515-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGEllipseElement : IDispatch
{
    [propputref, id(DISPID_ISVGELLIPSEELEMENT_CX)] HRESULT cx([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGELLIPSEELEMENT_CX)] HRESULT cx([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGELLIPSEELEMENT_CY)] HRESULT cy([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGELLIPSEELEMENT_CY)] HRESULT cy([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGELLIPSEELEMENT_RX)] HRESULT rx([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGELLIPSEELEMENT_RX)] HRESULT rx([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGELLIPSEELEMENT_RY)] HRESULT ry([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGELLIPSEELEMENT_RY)] HRESULT ry([retval, out] ISVGAnimatedLength* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510516-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGLineElement : IDispatch
{
    [propputref, id(DISPID_ISVGLINEELEMENT_X1)] HRESULT x1([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEELEMENT_X1)] HRESULT x1([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGLINEELEMENT_Y1)] HRESULT y1([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEELEMENT_Y1)] HRESULT y1([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGLINEELEMENT_X2)] HRESULT x2([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEELEMENT_X2)] HRESULT x2([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGLINEELEMENT_Y2)] HRESULT y2([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEELEMENT_Y2)] HRESULT y2([retval, out] ISVGAnimatedLength* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510513-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGRectElement : IDispatch
{
    [propputref, id(DISPID_ISVGRECTELEMENT_X)] HRESULT x([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_X)] HRESULT x([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGRECTELEMENT_Y)] HRESULT y([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_Y)] HRESULT y([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGRECTELEMENT_WIDTH)] HRESULT width([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_WIDTH)] HRESULT width([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGRECTELEMENT_HEIGHT)] HRESULT height([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_HEIGHT)] HRESULT height([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGRECTELEMENT_RX)] HRESULT rx([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_RX)] HRESULT rx([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGRECTELEMENT_RY)] HRESULT ry([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_RY)] HRESULT ry([retval, out] ISVGAnimatedLength* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510519-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPolygonElement : IDispatch
{
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510518-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPolylineElement : IDispatch
{
};
[
    hidden,
    uuid(3059000a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGCircleElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGCIRCLEELEMENT_CX)] void cx(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGCIRCLEELEMENT_CX)] ISVGAnimatedLength* cx();
    [propputref, id(DISPID_ISVGCIRCLEELEMENT_CY)] void cy(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGCIRCLEELEMENT_CY)] ISVGAnimatedLength* cy();
    [propputref, id(DISPID_ISVGCIRCLEELEMENT_R)] void r(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGCIRCLEELEMENT_R)] ISVGAnimatedLength* r();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
};
[
    noncreatable,
    uuid(30510578-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGCircleElement
{
    [default]           dispinterface DispSVGCircleElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGCircleElement;
                        interface ISVGTests;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
                        interface ISVGElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGCircleElement;")
[
    hidden,
    uuid(3059000b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGEllipseElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGELLIPSEELEMENT_CX)] void cx(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGELLIPSEELEMENT_CX)] ISVGAnimatedLength* cx();
    [propputref, id(DISPID_ISVGELLIPSEELEMENT_CY)] void cy(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGELLIPSEELEMENT_CY)] ISVGAnimatedLength* cy();
    [propputref, id(DISPID_ISVGELLIPSEELEMENT_RX)] void rx(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGELLIPSEELEMENT_RX)] ISVGAnimatedLength* rx();
    [propputref, id(DISPID_ISVGELLIPSEELEMENT_RY)] void ry(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGELLIPSEELEMENT_RY)] ISVGAnimatedLength* ry();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
};
[
    noncreatable,
    uuid(30510579-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGEllipseElement
{
    [default]           dispinterface DispSVGEllipseElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGEllipseElement;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
                        interface ISVGElement;
                        interface ISVGTests;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGEllipseElement;")
[
    hidden,
    uuid(3059000c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGLineElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGLINEELEMENT_X1)] void x1(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEELEMENT_X1)] ISVGAnimatedLength* x1();
    [propputref, id(DISPID_ISVGLINEELEMENT_Y1)] void y1(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEELEMENT_Y1)] ISVGAnimatedLength* y1();
    [propputref, id(DISPID_ISVGLINEELEMENT_X2)] void x2(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEELEMENT_X2)] ISVGAnimatedLength* x2();
    [propputref, id(DISPID_ISVGLINEELEMENT_Y2)] void y2(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEELEMENT_Y2)] ISVGAnimatedLength* y2();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
};
[
    noncreatable,
    uuid(3051057a-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGLineElement
{
    [default]           dispinterface DispSVGLineElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGLineElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGLineElement;")
[
    hidden,
    uuid(30590009-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGRectElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGRECTELEMENT_X)] void x(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_X)] ISVGAnimatedLength* x();
    [propputref, id(DISPID_ISVGRECTELEMENT_Y)] void y(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_Y)] ISVGAnimatedLength* y();
    [propputref, id(DISPID_ISVGRECTELEMENT_WIDTH)] void width(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_WIDTH)] ISVGAnimatedLength* width();
    [propputref, id(DISPID_ISVGRECTELEMENT_HEIGHT)] void height(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_HEIGHT)] ISVGAnimatedLength* height();
    [propputref, id(DISPID_ISVGRECTELEMENT_RX)] void rx(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_RX)] ISVGAnimatedLength* rx();
    [propputref, id(DISPID_ISVGRECTELEMENT_RY)] void ry(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRECTELEMENT_RY)] ISVGAnimatedLength* ry();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
};
[
    noncreatable,
    uuid(30510577-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGRectElement
{
    [default]           dispinterface DispSVGRectElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGRectElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGRectElement;")
[
    hidden,
    uuid(3059000d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPolygonElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGANIMATEDPOINTS_POINTS)] void points(ISVGPointList* v);
    [propget, id(DISPID_ISVGANIMATEDPOINTS_POINTS)] ISVGPointList* points();
    [propputref, id(DISPID_ISVGANIMATEDPOINTS_ANIMATEDPOINTS)] void animatedPoints(ISVGPointList* v);
    [propget, id(DISPID_ISVGANIMATEDPOINTS_ANIMATEDPOINTS)] ISVGPointList* animatedPoints();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
};
[
    noncreatable,
    uuid(3051057b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPolygonElement
{
    [default]           dispinterface DispSVGPolygonElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGPolygonElement;
                        interface ISVGAnimatedPoints;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
                        interface ISVGElement;
                        interface ISVGTests;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPolygonElement;")
[
    hidden,
    uuid(3059000e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPolylineElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGANIMATEDPOINTS_POINTS)] void points(ISVGPointList* v);
    [propget, id(DISPID_ISVGANIMATEDPOINTS_POINTS)] ISVGPointList* points();
    [propputref, id(DISPID_ISVGANIMATEDPOINTS_ANIMATEDPOINTS)] void animatedPoints(ISVGPointList* v);
    [propget, id(DISPID_ISVGANIMATEDPOINTS_ANIMATEDPOINTS)] ISVGPointList* animatedPoints();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
};
[
    noncreatable,
    uuid(3051057c-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPolylineElement
{
    [default]           dispinterface DispSVGPolylineElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGPolylineElement;
                        interface ISVGAnimatedPoints;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
                        interface ISVGElement;
                        interface ISVGTests;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPolylineElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104e8-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGGElement : IDispatch
{
};
[
    hidden,
    uuid(30590002-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGGElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
};
[
    noncreatable,
    uuid(3051056f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGGElement
{
    [default]           dispinterface DispSVGGElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGGElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGGElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104ec-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGSymbolElement : IDispatch
{
};
[
    hidden,
    uuid(30590004-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGSymbolElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGFITTOVIEWBOX_VIEWBOX)] ISVGAnimatedRect* viewBox();
    [propputref, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] void preserveAspectRatio(ISVGAnimatedPreserveAspectRatio* v);
    [propget, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] ISVGAnimatedPreserveAspectRatio* preserveAspectRatio();
};
[
    noncreatable,
    uuid(30510571-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGSymbolElement
{
    [default]           dispinterface DispSVGSymbolElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGSymbolElement;
                        interface ISVGElement;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGFitToViewBox;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGSymbolElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104e9-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGDefsElement : IDispatch
{
};
[
    hidden,
    uuid(30590003-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGDefsElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
};
[
    noncreatable,
    uuid(30510570-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGDefsElement
{
    [default]           dispinterface DispSVGDefsElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGDefsElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGDefsElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510511-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedPathData : IDispatch
{
    [propputref, id(DISPID_ISVGANIMATEDPATHDATA_PATHSEGLIST)] HRESULT pathSegList([in] ISVGPathSegList* v);
    [propget, id(DISPID_ISVGANIMATEDPATHDATA_PATHSEGLIST)] HRESULT pathSegList([retval, out] ISVGPathSegList* * p);
    [propputref, id(DISPID_ISVGANIMATEDPATHDATA_NORMALIZEDPATHSEGLIST)] HRESULT normalizedPathSegList([in] ISVGPathSegList* v);
    [propget, id(DISPID_ISVGANIMATEDPATHDATA_NORMALIZEDPATHSEGLIST)] HRESULT normalizedPathSegList([retval, out] ISVGPathSegList* * p);
    [propputref, id(DISPID_ISVGANIMATEDPATHDATA_ANIMATEDPATHSEGLIST)] HRESULT animatedPathSegList([in] ISVGPathSegList* v);
    [propget, id(DISPID_ISVGANIMATEDPATHDATA_ANIMATEDPATHSEGLIST)] HRESULT animatedPathSegList([retval, out] ISVGPathSegList* * p);
    [propputref, id(DISPID_ISVGANIMATEDPATHDATA_ANIMATEDNORMALIZEDPATHSEGLIST)] HRESULT animatedNormalizedPathSegList([in] ISVGPathSegList* v);
    [propget, id(DISPID_ISVGANIMATEDPATHDATA_ANIMATEDNORMALIZEDPATHSEGLIST)] HRESULT animatedNormalizedPathSegList([retval, out] ISVGPathSegList* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510512-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPathElement : IDispatch
{
    [propputref, id(DISPID_ISVGPATHELEMENT_PATHLENGTH)] HRESULT pathLength([in] ISVGAnimatedNumber* v);
    [propget, id(DISPID_ISVGPATHELEMENT_PATHLENGTH)] HRESULT pathLength([retval, out] ISVGAnimatedNumber* * p);
    [id(DISPID_ISVGPATHELEMENT_GETTOTALLENGTH)] HRESULT getTotalLength([retval, out] float* pfltResult);
    [id(DISPID_ISVGPATHELEMENT_GETPOINTATLENGTH)] HRESULT getPointAtLength([in] float fltdistance,[retval, out] ISVGPoint** ppPointResult);
    [id(DISPID_ISVGPATHELEMENT_GETPATHSEGATLENGTH)] HRESULT getPathSegAtLength([in] float fltdistance,[retval, out] long* plResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCLOSEPATH)] HRESULT createSVGPathSegClosePath([retval, out] ISVGPathSegClosePath** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGMOVETOABS)] HRESULT createSVGPathSegMovetoAbs([in] float x,[in] float y,[retval, out] ISVGPathSegMovetoAbs** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGMOVETOREL)] HRESULT createSVGPathSegMovetoRel([in] float x,[in] float y,[retval, out] ISVGPathSegMovetoRel** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOABS)] HRESULT createSVGPathSegLinetoAbs([in] float x,[in] float y,[retval, out] ISVGPathSegLinetoAbs** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOREL)] HRESULT createSVGPathSegLinetoRel([in] float x,[in] float y,[retval, out] ISVGPathSegLinetoRel** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOCUBICABS)] HRESULT createSVGPathSegCurvetoCubicAbs([in] float x,[in] float y,[in] float x1,[in] float y1,[in] float x2,[in] float y2,[retval, out] ISVGPathSegCurvetoCubicAbs** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOCUBICREL)] HRESULT createSVGPathSegCurvetoCubicRel([in] float x,[in] float y,[in] float x1,[in] float y1,[in] float x2,[in] float y2,[retval, out] ISVGPathSegCurvetoCubicRel** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOQUADRATICABS)] HRESULT createSVGPathSegCurvetoQuadraticAbs([in] float x,[in] float y,[in] float x1,[in] float y1,[retval, out] ISVGPathSegCurvetoQuadraticAbs** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOQUADRATICREL)] HRESULT createSVGPathSegCurvetoQuadraticRel([in] float x,[in] float y,[in] float x1,[in] float y1,[retval, out] ISVGPathSegCurvetoQuadraticRel** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGARCABS)] HRESULT createSVGPathSegArcAbs([in] float x,[in] float y,[in] float r1,[in] float r2,[in] float angle,[in] VARIANT_BOOL largeArcFlag,[in] VARIANT_BOOL sweepFlag,[retval, out] ISVGPathSegArcAbs** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGARCREL)] HRESULT createSVGPathSegArcRel([in] float x,[in] float y,[in] float r1,[in] float r2,[in] float angle,[in] VARIANT_BOOL largeArcFlag,[in] VARIANT_BOOL sweepFlag,[retval, out] ISVGPathSegArcRel** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOHORIZONTALABS)] HRESULT createSVGPathSegLinetoHorizontalAbs([in] float x,[retval, out] ISVGPathSegLinetoHorizontalAbs** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOHORIZONTALREL)] HRESULT createSVGPathSegLinetoHorizontalRel([in] float x,[retval, out] ISVGPathSegLinetoHorizontalRel** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOVERTICALABS)] HRESULT createSVGPathSegLinetoVerticalAbs([in] float y,[retval, out] ISVGPathSegLinetoVerticalAbs** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOVERTICALREL)] HRESULT createSVGPathSegLinetoVerticalRel([in] float y,[retval, out] ISVGPathSegLinetoVerticalRel** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOCUBICSMOOTHABS)] HRESULT createSVGPathSegCurvetoCubicSmoothAbs([in] float x,[in] float y,[in] float x2,[in] float y2,[retval, out] ISVGPathSegCurvetoCubicSmoothAbs** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOCUBICSMOOTHREL)] HRESULT createSVGPathSegCurvetoCubicSmoothRel([in] float x,[in] float y,[in] float x2,[in] float y2,[retval, out] ISVGPathSegCurvetoCubicSmoothRel** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOQUADRATICSMOOTHABS)] HRESULT createSVGPathSegCurvetoQuadraticSmoothAbs([in] float x,[in] float y,[retval, out] ISVGPathSegCurvetoQuadraticSmoothAbs** ppResult);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOQUADRATICSMOOTHREL)] HRESULT createSVGPathSegCurvetoQuadraticSmoothRel([in] float x,[in] float y,[retval, out] ISVGPathSegCurvetoQuadraticSmoothRel** ppResult);
};
[
    hidden,
    uuid(30590011-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGPathElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGANIMATEDPATHDATA_PATHSEGLIST)] void pathSegList(ISVGPathSegList* v);
    [propget, id(DISPID_ISVGANIMATEDPATHDATA_PATHSEGLIST)] ISVGPathSegList* pathSegList();
    [propputref, id(DISPID_ISVGANIMATEDPATHDATA_NORMALIZEDPATHSEGLIST)] void normalizedPathSegList(ISVGPathSegList* v);
    [propget, id(DISPID_ISVGANIMATEDPATHDATA_NORMALIZEDPATHSEGLIST)] ISVGPathSegList* normalizedPathSegList();
    [propputref, id(DISPID_ISVGANIMATEDPATHDATA_ANIMATEDPATHSEGLIST)] void animatedPathSegList(ISVGPathSegList* v);
    [propget, id(DISPID_ISVGANIMATEDPATHDATA_ANIMATEDPATHSEGLIST)] ISVGPathSegList* animatedPathSegList();
    [propputref, id(DISPID_ISVGANIMATEDPATHDATA_ANIMATEDNORMALIZEDPATHSEGLIST)] void animatedNormalizedPathSegList(ISVGPathSegList* v);
    [propget, id(DISPID_ISVGANIMATEDPATHDATA_ANIMATEDNORMALIZEDPATHSEGLIST)] ISVGPathSegList* animatedNormalizedPathSegList();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
    [propputref, id(DISPID_ISVGPATHELEMENT_PATHLENGTH)] void pathLength(ISVGAnimatedNumber* v);
    [propget, id(DISPID_ISVGPATHELEMENT_PATHLENGTH)] ISVGAnimatedNumber* pathLength();
    [id(DISPID_ISVGPATHELEMENT_GETTOTALLENGTH)] float getTotalLength();
    [id(DISPID_ISVGPATHELEMENT_GETPOINTATLENGTH)] ISVGPoint* getPointAtLength([in] float fltdistance);
    [id(DISPID_ISVGPATHELEMENT_GETPATHSEGATLENGTH)] long getPathSegAtLength([in] float fltdistance);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCLOSEPATH)] ISVGPathSegClosePath* createSVGPathSegClosePath();
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGMOVETOABS)] ISVGPathSegMovetoAbs* createSVGPathSegMovetoAbs([in] float x,[in] float y);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGMOVETOREL)] ISVGPathSegMovetoRel* createSVGPathSegMovetoRel([in] float x,[in] float y);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOABS)] ISVGPathSegLinetoAbs* createSVGPathSegLinetoAbs([in] float x,[in] float y);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOREL)] ISVGPathSegLinetoRel* createSVGPathSegLinetoRel([in] float x,[in] float y);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOCUBICABS)] ISVGPathSegCurvetoCubicAbs* createSVGPathSegCurvetoCubicAbs([in] float x,[in] float y,[in] float x1,[in] float y1,[in] float x2,[in] float y2);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOCUBICREL)] ISVGPathSegCurvetoCubicRel* createSVGPathSegCurvetoCubicRel([in] float x,[in] float y,[in] float x1,[in] float y1,[in] float x2,[in] float y2);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOQUADRATICABS)] ISVGPathSegCurvetoQuadraticAbs* createSVGPathSegCurvetoQuadraticAbs([in] float x,[in] float y,[in] float x1,[in] float y1);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOQUADRATICREL)] ISVGPathSegCurvetoQuadraticRel* createSVGPathSegCurvetoQuadraticRel([in] float x,[in] float y,[in] float x1,[in] float y1);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGARCABS)] ISVGPathSegArcAbs* createSVGPathSegArcAbs([in] float x,[in] float y,[in] float r1,[in] float r2,[in] float angle,[in] VARIANT_BOOL largeArcFlag,[in] VARIANT_BOOL sweepFlag);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGARCREL)] ISVGPathSegArcRel* createSVGPathSegArcRel([in] float x,[in] float y,[in] float r1,[in] float r2,[in] float angle,[in] VARIANT_BOOL largeArcFlag,[in] VARIANT_BOOL sweepFlag);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOHORIZONTALABS)] ISVGPathSegLinetoHorizontalAbs* createSVGPathSegLinetoHorizontalAbs([in] float x);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOHORIZONTALREL)] ISVGPathSegLinetoHorizontalRel* createSVGPathSegLinetoHorizontalRel([in] float x);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOVERTICALABS)] ISVGPathSegLinetoVerticalAbs* createSVGPathSegLinetoVerticalAbs([in] float y);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGLINETOVERTICALREL)] ISVGPathSegLinetoVerticalRel* createSVGPathSegLinetoVerticalRel([in] float y);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOCUBICSMOOTHABS)] ISVGPathSegCurvetoCubicSmoothAbs* createSVGPathSegCurvetoCubicSmoothAbs([in] float x,[in] float y,[in] float x2,[in] float y2);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOCUBICSMOOTHREL)] ISVGPathSegCurvetoCubicSmoothRel* createSVGPathSegCurvetoCubicSmoothRel([in] float x,[in] float y,[in] float x2,[in] float y2);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOQUADRATICSMOOTHABS)] ISVGPathSegCurvetoQuadraticSmoothAbs* createSVGPathSegCurvetoQuadraticSmoothAbs([in] float x,[in] float y);
    [id(DISPID_ISVGPATHELEMENT_CREATESVGPATHSEGCURVETOQUADRATICSMOOTHREL)] ISVGPathSegCurvetoQuadraticSmoothRel* createSVGPathSegCurvetoQuadraticSmoothRel([in] float x,[in] float y);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
};
[
    noncreatable,
    uuid(305105b2-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPathElement
{
    [default]           dispinterface DispSVGPathElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGAnimatedPathData;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
                        interface ISVGPathElement;
                        interface ISVGElement;
                        interface ISVGTests;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPathElement;")
typedef enum _svgPreserveAspectRatioAlignType
{
    SVG_PRESERVEASPECTRATIO_UNKNOWN = 0,
    SVG_PRESERVEASPECTRATIO_NONE = 1,
    SVG_PRESERVEASPECTRATIO_XMINYMIN = 2,
    SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3,
    SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4,
    SVG_PRESERVEASPECTRATIO_XMINYMID = 5,
    SVG_PRESERVEASPECTRATIO_XMIDYMID = 6,
    SVG_PRESERVEASPECTRATIO_XMAXYMID = 7,
    SVG_PRESERVEASPECTRATIO_XMINYMAX = 8,
    SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9,
    SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10,
    svgPreserveAspectRatioAlignType_Max = 2147483647L
} svgPreserveAspectRatioAlignType;

typedef enum _svgPreserveAspectMeetOrSliceType
{
    SVG_MEETORSLICE_UNKNOWN = 0,
    SVG_MEETORSLICE_MEET = 1,
    SVG_MEETORSLICE_SLICE = 2,
    svgPreserveAspectMeetOrSliceType_Max = 2147483647L
} svgPreserveAspectMeetOrSliceType;

[
    odl,
    oleautomation,
    dual,
    uuid(305104fa-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGPreserveAspectRatio : IDispatch
{
    [propput, id(DISPID_ISVGPRESERVEASPECTRATIO_ALIGN)] HRESULT align([in] short v);
    [propget, id(DISPID_ISVGPRESERVEASPECTRATIO_ALIGN)] HRESULT align([retval, out] short * p);
    [propput, id(DISPID_ISVGPRESERVEASPECTRATIO_MEETORSLICE)] HRESULT meetOrSlice([in] short v);
    [propget, id(DISPID_ISVGPRESERVEASPECTRATIO_MEETORSLICE)] HRESULT meetOrSlice([retval, out] short * p);
};
[
    noncreatable,
    uuid(305105d0-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGPreserveAspectRatio
{
    [default]           interface ISVGPreserveAspectRatio;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGPreserveAspectRatio;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051051c-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTextElement : IDispatch
{
};
[
    hidden,
    uuid(30590037-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGTextElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_X)] void x(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_X)] ISVGAnimatedLengthList* x();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_Y)] void y(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_Y)] ISVGAnimatedLengthList* y();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DX)] void dx(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DX)] ISVGAnimatedLengthList* dx();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DY)] void dy(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DY)] ISVGAnimatedLengthList* dy();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_ROTATE)] void rotate(ISVGAnimatedNumberList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_ROTATE)] ISVGAnimatedNumberList* rotate();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] void textLength(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] ISVGAnimatedLength* textLength();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] void lengthAdjust(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] ISVGAnimatedEnumeration* lengthAdjust();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETNUMBEROFCHARS)] long getNumberOfChars();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCOMPUTEDTEXTLENGTH)] float getComputedTextLength();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSUBSTRINGLENGTH)] float getSubStringLength([in] long charnum,[in] long nchars);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSTARTPOSITIONOFCHAR)] ISVGPoint* getStartPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETENDPOSITIONOFCHAR)] ISVGPoint* getEndPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETEXTENTOFCHAR)] ISVGRect* getExtentOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETROTATIONOFCHAR)] float getRotationOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCHARNUMATPOSITION)] long getCharNumAtPosition([in] ISVGPoint* point);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_SELECTSUBSTRING)] void selectSubString([in] long charnum,[in] long nchars);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
};
[
    noncreatable,
    uuid(305105df-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGTextElement
{
    [default]           dispinterface DispSVGTextElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGTextElement;
                        interface ISVGTextPositioningElement;
                        interface ISVGTextContentElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGTextElement;")
interface ISVGPreserveAspectRatio;
[
    odl,
    oleautomation,
    dual,
    uuid(305104fb-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAnimatedPreserveAspectRatio : IDispatch
{
    [propputref, id(DISPID_ISVGANIMATEDPRESERVEASPECTRATIO_BASEVAL)] HRESULT baseVal([in] ISVGPreserveAspectRatio* v);
    [propget, id(DISPID_ISVGANIMATEDPRESERVEASPECTRATIO_BASEVAL)] HRESULT baseVal([retval, out] ISVGPreserveAspectRatio* * p);
    [propputref, id(DISPID_ISVGANIMATEDPRESERVEASPECTRATIO_ANIMVAL)] HRESULT animVal([in] ISVGPreserveAspectRatio* v);
    [propget, id(DISPID_ISVGANIMATEDPRESERVEASPECTRATIO_ANIMVAL)] HRESULT animVal([retval, out] ISVGPreserveAspectRatio* * p);
};
[
    noncreatable,
    uuid(305105ce-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAnimatedPreserveAspectRatio
{
    [default]           interface ISVGAnimatedPreserveAspectRatio;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAnimatedPreserveAspectRatio;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104f0-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGImageElement : IDispatch
{
    [propputref, id(DISPID_ISVGIMAGEELEMENT_X)] HRESULT x([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGIMAGEELEMENT_X)] HRESULT x([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGIMAGEELEMENT_Y)] HRESULT y([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGIMAGEELEMENT_Y)] HRESULT y([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGIMAGEELEMENT_WIDTH)] HRESULT width([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGIMAGEELEMENT_WIDTH)] HRESULT width([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGIMAGEELEMENT_HEIGHT)] HRESULT height([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGIMAGEELEMENT_HEIGHT)] HRESULT height([retval, out] ISVGAnimatedLength* * p);
};
[
    hidden,
    uuid(30590027-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGImageElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
    [propget, id(DISPID_ISVGFITTOVIEWBOX_VIEWBOX)] ISVGAnimatedRect* viewBox();
    [propputref, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] void preserveAspectRatio(ISVGAnimatedPreserveAspectRatio* v);
    [propget, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] ISVGAnimatedPreserveAspectRatio* preserveAspectRatio();
    [propputref, id(DISPID_ISVGIMAGEELEMENT_X)] void x(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGIMAGEELEMENT_X)] ISVGAnimatedLength* x();
    [propputref, id(DISPID_ISVGIMAGEELEMENT_Y)] void y(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGIMAGEELEMENT_Y)] ISVGAnimatedLength* y();
    [propputref, id(DISPID_ISVGIMAGEELEMENT_WIDTH)] void width(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGIMAGEELEMENT_WIDTH)] ISVGAnimatedLength* width();
    [propputref, id(DISPID_ISVGIMAGEELEMENT_HEIGHT)] void height(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGIMAGEELEMENT_HEIGHT)] ISVGAnimatedLength* height();
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] ISVGAnimatedString* href();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
};
[
    noncreatable,
    uuid(305105cf-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGImageElement
{
    [default]           dispinterface DispSVGImageElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGElement;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
                        interface ISVGFitToViewBox;
                        interface ISVGImageElement;
                        interface ISVGURIReference;
                        interface ISVGTests;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGImageElement;")
typedef enum _svgUnitTypes
{
    SVG_UNITTYPE_UNKNOWN = 0,
    SVG_UNITTYPE_USERSPACEONUSE = 1,
    SVG_UNITTYPE_OBJECTBOUNDINGBOX = 2,
    svgUnitTypes_Max = 2147483647L
} svgUnitTypes;

[
    odl,
    oleautomation,
    dual,
    uuid(3051052b-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGStopElement : IDispatch
{
    [propputref, id(DISPID_ISVGSTOPELEMENT_OFFSET)] HRESULT offset([in] ISVGAnimatedNumber* v);
    [propget, id(DISPID_ISVGSTOPELEMENT_OFFSET)] HRESULT offset([retval, out] ISVGAnimatedNumber* * p);
};
[
    hidden,
    uuid(3059002d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGStopElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGSTOPELEMENT_OFFSET)] void offset(ISVGAnimatedNumber* v);
    [propget, id(DISPID_ISVGSTOPELEMENT_OFFSET)] ISVGAnimatedNumber* offset();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(305105d5-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGStopElement
{
    [default]           dispinterface DispSVGStopElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGStopElement;
                        interface ISVGElement;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGStopElement;")
typedef enum _svgSpreadMethod
{
    SVG_SPREADMETHOD_UNKNOWN = 0,
    SVG_SPREADMETHOD_PAD = 1,
    SVG_SPREADMETHOD_REFLECT = 2,
    SVG_SPREADMETHOD_REPEAT = 3,
    svgSpreadMethod_Max = 2147483647L
} svgSpreadMethod;

[
    odl,
    oleautomation,
    dual,
    uuid(30510528-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGGradientElement : IDispatch
{
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTUNITS)] HRESULT gradientUnits([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTUNITS)] HRESULT gradientUnits([retval, out] ISVGAnimatedEnumeration* * p);
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTTRANSFORM)] HRESULT gradientTransform([in] ISVGAnimatedTransformList* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTTRANSFORM)] HRESULT gradientTransform([retval, out] ISVGAnimatedTransformList* * p);
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_SPREADMETHOD)] HRESULT spreadMethod([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_SPREADMETHOD)] HRESULT spreadMethod([retval, out] ISVGAnimatedEnumeration* * p);
};
[
    hidden,
    uuid(3059002e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGGradientElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTUNITS)] void gradientUnits(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTUNITS)] ISVGAnimatedEnumeration* gradientUnits();
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTTRANSFORM)] void gradientTransform(ISVGAnimatedTransformList* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTTRANSFORM)] ISVGAnimatedTransformList* gradientTransform();
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_SPREADMETHOD)] void spreadMethod(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_SPREADMETHOD)] ISVGAnimatedEnumeration* spreadMethod();
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] ISVGAnimatedString* href();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(305105d6-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGGradientElement
{
    [default]           dispinterface DispSVGGradientElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGElement;
                        interface ISVGGradientElement;
                        interface ISVGURIReference;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGGradientElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510529-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGLinearGradientElement : IDispatch
{
    [propputref, id(DISPID_ISVGLINEARGRADIENTELEMENT_X1)] HRESULT x1([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEARGRADIENTELEMENT_X1)] HRESULT x1([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGLINEARGRADIENTELEMENT_Y1)] HRESULT y1([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEARGRADIENTELEMENT_Y1)] HRESULT y1([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGLINEARGRADIENTELEMENT_X2)] HRESULT x2([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEARGRADIENTELEMENT_X2)] HRESULT x2([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGLINEARGRADIENTELEMENT_Y2)] HRESULT y2([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEARGRADIENTELEMENT_Y2)] HRESULT y2([retval, out] ISVGAnimatedLength* * p);
};
[
    hidden,
    uuid(3059002a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGLinearGradientElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTUNITS)] void gradientUnits(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTUNITS)] ISVGAnimatedEnumeration* gradientUnits();
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTTRANSFORM)] void gradientTransform(ISVGAnimatedTransformList* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTTRANSFORM)] ISVGAnimatedTransformList* gradientTransform();
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_SPREADMETHOD)] void spreadMethod(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_SPREADMETHOD)] ISVGAnimatedEnumeration* spreadMethod();
    [propputref, id(DISPID_ISVGLINEARGRADIENTELEMENT_X1)] void x1(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEARGRADIENTELEMENT_X1)] ISVGAnimatedLength* x1();
    [propputref, id(DISPID_ISVGLINEARGRADIENTELEMENT_Y1)] void y1(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEARGRADIENTELEMENT_Y1)] ISVGAnimatedLength* y1();
    [propputref, id(DISPID_ISVGLINEARGRADIENTELEMENT_X2)] void x2(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEARGRADIENTELEMENT_X2)] ISVGAnimatedLength* x2();
    [propputref, id(DISPID_ISVGLINEARGRADIENTELEMENT_Y2)] void y2(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGLINEARGRADIENTELEMENT_Y2)] ISVGAnimatedLength* y2();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] ISVGAnimatedString* href();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(305105d2-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGLinearGradientElement
{
    [default]           dispinterface DispSVGLinearGradientElement;
                        interface ISVGGradientElement;
                        interface ISVGLinearGradientElement;
                        interface ISVGElement;
                        interface ISVGURIReference;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGLinearGradientElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051052a-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGRadialGradientElement : IDispatch
{
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_CX)] HRESULT cx([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_CX)] HRESULT cx([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_CY)] HRESULT cy([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_CY)] HRESULT cy([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_R)] HRESULT r([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_R)] HRESULT r([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_FX)] HRESULT fx([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_FX)] HRESULT fx([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_FY)] HRESULT fy([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_FY)] HRESULT fy([retval, out] ISVGAnimatedLength* * p);
};
[
    hidden,
    uuid(3059002b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGRadialGradientElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTUNITS)] void gradientUnits(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTUNITS)] ISVGAnimatedEnumeration* gradientUnits();
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTTRANSFORM)] void gradientTransform(ISVGAnimatedTransformList* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_GRADIENTTRANSFORM)] ISVGAnimatedTransformList* gradientTransform();
    [propputref, id(DISPID_ISVGGRADIENTELEMENT_SPREADMETHOD)] void spreadMethod(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGGRADIENTELEMENT_SPREADMETHOD)] ISVGAnimatedEnumeration* spreadMethod();
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_CX)] void cx(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_CX)] ISVGAnimatedLength* cx();
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_CY)] void cy(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_CY)] ISVGAnimatedLength* cy();
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_R)] void r(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_R)] ISVGAnimatedLength* r();
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_FX)] void fx(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_FX)] ISVGAnimatedLength* fx();
    [propputref, id(DISPID_ISVGRADIALGRADIENTELEMENT_FY)] void fy(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGRADIALGRADIENTELEMENT_FY)] ISVGAnimatedLength* fy();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] ISVGAnimatedString* href();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(305105d3-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGRadialGradientElement
{
    [default]           dispinterface DispSVGRadialGradientElement;
                        interface ISVGGradientElement;
                        interface ISVGRadialGradientElement;
                        interface ISVGElement;
                        interface ISVGURIReference;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGRadialGradientElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051052e-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGMaskElement : IDispatch
{
    [propputref, id(DISPID_ISVGMASKELEMENT_MASKUNITS)] HRESULT maskUnits([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGMASKELEMENT_MASKUNITS)] HRESULT maskUnits([retval, out] ISVGAnimatedEnumeration* * p);
    [propputref, id(DISPID_ISVGMASKELEMENT_MASKCONTENTUNITS)] HRESULT maskContentUnits([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGMASKELEMENT_MASKCONTENTUNITS)] HRESULT maskContentUnits([retval, out] ISVGAnimatedEnumeration* * p);
    [propputref, id(DISPID_ISVGMASKELEMENT_X)] HRESULT x([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMASKELEMENT_X)] HRESULT x([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGMASKELEMENT_Y)] HRESULT y([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMASKELEMENT_Y)] HRESULT y([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGMASKELEMENT_WIDTH)] HRESULT width([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMASKELEMENT_WIDTH)] HRESULT width([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGMASKELEMENT_HEIGHT)] HRESULT height([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMASKELEMENT_HEIGHT)] HRESULT height([retval, out] ISVGAnimatedLength* * p);
};
[
    hidden,
    uuid(3059003C-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGMaskElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGMASKELEMENT_MASKUNITS)] void maskUnits(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGMASKELEMENT_MASKUNITS)] ISVGAnimatedEnumeration* maskUnits();
    [propputref, id(DISPID_ISVGMASKELEMENT_MASKCONTENTUNITS)] void maskContentUnits(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGMASKELEMENT_MASKCONTENTUNITS)] ISVGAnimatedEnumeration* maskContentUnits();
    [propputref, id(DISPID_ISVGMASKELEMENT_X)] void x(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMASKELEMENT_X)] ISVGAnimatedLength* x();
    [propputref, id(DISPID_ISVGMASKELEMENT_Y)] void y(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMASKELEMENT_Y)] ISVGAnimatedLength* y();
    [propputref, id(DISPID_ISVGMASKELEMENT_WIDTH)] void width(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMASKELEMENT_WIDTH)] ISVGAnimatedLength* width();
    [propputref, id(DISPID_ISVGMASKELEMENT_HEIGHT)] void height(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMASKELEMENT_HEIGHT)] ISVGAnimatedLength* height();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(305105e7-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGMaskElement
{
    [default]           dispinterface DispSVGMaskElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGMaskElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGMaskElement;")
typedef enum _svgFeblendMode
{
    SVG_FEBLEND_MODE_UNKNOWN = 0,
    SVG_FEBLEND_MODE_NORMAL = 1,
    SVG_FEBLEND_MODE_MULTIPLY = 2,
    SVG_FEBLEND_MODE_SCREEN = 3,
    SVG_FEBLEND_MODE_DARKEN = 4,
    SVG_FEBLEND_MODE_LIGHTEN = 5,
    svgFeblendMode_Max = 2147483647L
} svgFeblendMode;

typedef enum _svgFecolormatrixType
{
    SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0,
    SVG_FECOLORMATRIX_TYPE_MATRIX = 1,
    SVG_FECOLORMATRIX_TYPE_SATURATE = 2,
    SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3,
    SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4,
    svgFecolormatrixType_Max = 2147483647L
} svgFecolormatrixType;

typedef enum _svgFecomponenttransferType
{
    SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0,
    SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,
    SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2,
    SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,
    SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4,
    SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5,
    svgFecomponenttransferType_Max = 2147483647L
} svgFecomponenttransferType;

typedef enum _svgFecompositeOperator
{
    SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0,
    SVG_FECOMPOSITE_OPERATOR_OVER = 1,
    SVG_FECOMPOSITE_OPERATOR_IN = 2,
    SVG_FECOMPOSITE_OPERATOR_OUT = 3,
    SVG_FECOMPOSITE_OPERATOR_ATOP = 4,
    SVG_FECOMPOSITE_OPERATOR_XOR = 5,
    SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6,
    svgFecompositeOperator_Max = 2147483647L
} svgFecompositeOperator;

typedef enum _svgEdgemode
{
    SVG_EDGEMODE_UNKNOWN = 0,
    SVG_EDGEMODE_DUPLICATE = 1,
    SVG_EDGEMODE_WRAP = 2,
    SVG_EDGEMODE_NONE = 3,
    svgEdgemode_Max = 2147483647L
} svgEdgemode;

typedef enum _svgPreserveAlpha
{
    SVG_PRESERVEALPHA_FALSE = 0,
    SVG_PRESERVEALPHA_TRUE = 1,
    svgPreserveAlpha_Max = 2147483647L
} svgPreserveAlpha;

typedef enum _svgChannel
{
    SVG_CHANNEL_UNKNOWN = 0,
    SVG_CHANNEL_R = 1,
    SVG_CHANNEL_G = 2,
    SVG_CHANNEL_B = 3,
    SVG_CHANNEL_A = 4,
    svgChannel_Max = 2147483647L
} svgChannel;

typedef enum _svgMorphologyOperator
{
    SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,
    SVG_MORPHOLOGY_OPERATOR_ERODE = 1,
    SVG_MORPHOLOGY_OPERATOR_DILATE = 2,
    svgMorphologyOperator_Max = 2147483647L
} svgMorphologyOperator;

typedef enum _svgTurbulenceType
{
    SVG_TURBULENCE_TYPE_UNKNOWN = 0,
    SVG_TURBULENCE_TYPE_FACTALNOISE = 1,
    SVG_TURBULENCE_TYPE_TURBULENCE = 2,
    svgTurbulenceType_Max = 2147483647L
} svgTurbulenceType;

typedef enum _svgStitchtype
{
    SVG_STITCHTYPE_UNKNOWN = 0,
    SVG_STITCHTYPE_STITCH = 1,
    SVG_STITCHTYPE_NOSTITCH = 2,
    svgStitchtype_Max = 2147483647L
} svgStitchtype;

typedef enum _svgMarkerUnits
{
    SVG_MARKERUNITS_UNKNOWN = 0,
    SVG_MARKERUNITS_USERSPACEONUSE = 1,
    SVG_MARKERUNITS_STROKEWIDTH = 2,
    svgMarkerUnits_Max = 2147483647L
} svgMarkerUnits;

typedef enum _svgMarkerOrient
{
    SVG_MARKER_ORIENT_UNKNOWN = 0,
    SVG_MARKER_ORIENT_AUTO = 1,
    SVG_MARKER_ORIENT_ANGLE = 2,
    svgMarkerOrient_Max = 2147483647L
} svgMarkerOrient;

typedef enum _svgMarkerOrientAttribute
{
    svgMarkerOrientAttributeAuto = 0,
    svgMarkerOrientAttribute_Max = 2147483647L
} svgMarkerOrientAttribute;

[
    odl,
    oleautomation,
    dual,
    uuid(30510525-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGMarkerElement : IDispatch
{
    [propputref, id(DISPID_ISVGMARKERELEMENT_REFX)] HRESULT refX([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_REFX)] HRESULT refX([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGMARKERELEMENT_REFY)] HRESULT refY([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_REFY)] HRESULT refY([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGMARKERELEMENT_MARKERUNITS)] HRESULT markerUnits([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_MARKERUNITS)] HRESULT markerUnits([retval, out] ISVGAnimatedEnumeration* * p);
    [propputref, id(DISPID_ISVGMARKERELEMENT_MARKERWIDTH)] HRESULT markerWidth([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_MARKERWIDTH)] HRESULT markerWidth([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGMARKERELEMENT_MARKERHEIGHT)] HRESULT markerHeight([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_MARKERHEIGHT)] HRESULT markerHeight([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGMARKERELEMENT_ORIENTTYPE)] HRESULT orientType([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_ORIENTTYPE)] HRESULT orientType([retval, out] ISVGAnimatedEnumeration* * p);
    [propputref, id(DISPID_ISVGMARKERELEMENT_ORIENTANGLE)] HRESULT orientAngle([in] ISVGAnimatedAngle* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_ORIENTANGLE)] HRESULT orientAngle([retval, out] ISVGAnimatedAngle* * p);
    [id(DISPID_ISVGMARKERELEMENT_SETORIENTTOAUTO)] HRESULT setOrientToAuto();
    [id(DISPID_ISVGMARKERELEMENT_SETORIENTTOANGLE)] HRESULT setOrientToAngle([in] ISVGAngle* pSVGAngle);
};
[
    hidden,
    uuid(30590036-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGMarkerElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGMARKERELEMENT_REFX)] void refX(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_REFX)] ISVGAnimatedLength* refX();
    [propputref, id(DISPID_ISVGMARKERELEMENT_REFY)] void refY(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_REFY)] ISVGAnimatedLength* refY();
    [propputref, id(DISPID_ISVGMARKERELEMENT_MARKERUNITS)] void markerUnits(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_MARKERUNITS)] ISVGAnimatedEnumeration* markerUnits();
    [propputref, id(DISPID_ISVGMARKERELEMENT_MARKERWIDTH)] void markerWidth(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_MARKERWIDTH)] ISVGAnimatedLength* markerWidth();
    [propputref, id(DISPID_ISVGMARKERELEMENT_MARKERHEIGHT)] void markerHeight(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_MARKERHEIGHT)] ISVGAnimatedLength* markerHeight();
    [propputref, id(DISPID_ISVGMARKERELEMENT_ORIENTTYPE)] void orientType(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_ORIENTTYPE)] ISVGAnimatedEnumeration* orientType();
    [propputref, id(DISPID_ISVGMARKERELEMENT_ORIENTANGLE)] void orientAngle(ISVGAnimatedAngle* v);
    [propget, id(DISPID_ISVGMARKERELEMENT_ORIENTANGLE)] ISVGAnimatedAngle* orientAngle();
    [id(DISPID_ISVGMARKERELEMENT_SETORIENTTOAUTO)] void setOrientToAuto();
    [id(DISPID_ISVGMARKERELEMENT_SETORIENTTOANGLE)] void setOrientToAngle([in] ISVGAngle* pSVGAngle);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGFITTOVIEWBOX_VIEWBOX)] ISVGAnimatedRect* viewBox();
    [propputref, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] void preserveAspectRatio(ISVGAnimatedPreserveAspectRatio* v);
    [propget, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] ISVGAnimatedPreserveAspectRatio* preserveAspectRatio();
};
[
    noncreatable,
    uuid(305105de-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGMarkerElement
{
    [default]           dispinterface DispSVGMarkerElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGMarkerElement;
                        interface ISVGElement;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGFitToViewBox;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGMarkerElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051054e-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGZoomEvent : IDispatch
{
    [propget, id(DISPID_ISVGZOOMEVENT_ZOOMRECTSCREEN)] HRESULT zoomRectScreen([retval, out] ISVGRect* * p);
    [propget, id(DISPID_ISVGZOOMEVENT_PREVIOUSSCALE)] HRESULT previousScale([retval, out] float * p);
    [propget, id(DISPID_ISVGZOOMEVENT_PREVIOUSTRANSLATE)] HRESULT previousTranslate([retval, out] ISVGPoint* * p);
    [propget, id(DISPID_ISVGZOOMEVENT_NEWSCALE)] HRESULT newScale([retval, out] float * p);
    [propget, id(DISPID_ISVGZOOMEVENT_NEWTRANSLATE)] HRESULT newTranslate([retval, out] ISVGPoint* * p);
};
[
    hidden,
    uuid(30590031-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGZoomEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_ISVGZOOMEVENT_ZOOMRECTSCREEN)] ISVGRect* zoomRectScreen();
    [propget, id(DISPID_ISVGZOOMEVENT_PREVIOUSSCALE)] float previousScale();
    [propget, id(DISPID_ISVGZOOMEVENT_PREVIOUSTRANSLATE)] ISVGPoint* previousTranslate();
    [propget, id(DISPID_ISVGZOOMEVENT_NEWSCALE)] float newScale();
    [propget, id(DISPID_ISVGZOOMEVENT_NEWTRANSLATE)] ISVGPoint* newTranslate();
};
[
    noncreatable,
    uuid(305105d9-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGZoomEvent
{
    [default]           dispinterface DispSVGZoomEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface ISVGZoomEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGZoomEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051054b-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGAElement : IDispatch
{
    [propputref, id(DISPID_ISVGAELEMENT_TARGET)] HRESULT target([in] ISVGAnimatedString* v);
    [propget, id(DISPID_ISVGAELEMENT_TARGET)] HRESULT target([retval, out] ISVGAnimatedString* * p);
};
[
    hidden,
    uuid(30590033-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGAElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGAELEMENT_TARGET)] void target(ISVGAnimatedString* v);
    [propget, id(DISPID_ISVGAELEMENT_TARGET)] ISVGAnimatedString* target();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] ISVGAnimatedString* href();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
};
[
    noncreatable,
    uuid(305105db-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGAElement
{
    [default]           dispinterface DispSVGAElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGAElement;
                        interface ISVGElement;
                        interface ISVGURIReference;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGAElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051054c-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGViewElement : IDispatch
{
    [propputref, id(DISPID_ISVGVIEWELEMENT_VIEWTARGET)] HRESULT viewTarget([in] ISVGStringList* v);
    [propget, id(DISPID_ISVGVIEWELEMENT_VIEWTARGET)] HRESULT viewTarget([retval, out] ISVGStringList* * p);
};
[
    hidden,
    uuid(30590034-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGViewElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGVIEWELEMENT_VIEWTARGET)] void viewTarget(ISVGStringList* v);
    [propget, id(DISPID_ISVGVIEWELEMENT_VIEWTARGET)] ISVGStringList* viewTarget();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGFITTOVIEWBOX_VIEWBOX)] ISVGAnimatedRect* viewBox();
    [propputref, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] void preserveAspectRatio(ISVGAnimatedPreserveAspectRatio* v);
    [propget, id(DISPID_ISVGFITTOVIEWBOX_PRESERVEASPECTRATIO)] ISVGAnimatedPreserveAspectRatio* preserveAspectRatio();
    [propget, id(DISPID_ISVGZOOMANDPAN_ZOOMANDPAN)] short zoomAndPan();
};
[
    noncreatable,
    uuid(305105dc-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGViewElement
{
    [default]           dispinterface DispSVGViewElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGViewElement;
                        interface ISVGElement;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGFitToViewBox;
                        interface ISVGZoomAndPan;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGViewElement;")
typedef enum _htmlMediaNetworkState
{
    htmlMediaNetworkStateEmpty = 0,
    htmlMediaNetworkStateIdle = 1,
    htmlMediaNetworkStateLoading = 2,
    htmlMediaNetworkStateNoSource = 3,
    htmlMediaNetworkState_Max = 2147483647L
} htmlMediaNetworkState;

typedef enum _htmlMediaReadyState
{
    htmlMediaReadyStateHaveNothing = 0,
    htmlMediaReadyStateHaveMetadata = 1,
    htmlMediaReadyStateHaveCurrentData = 2,
    htmlMediaReadyStateHaveFutureData = 3,
    htmlMediaReadyStateHaveEnoughData = 4,
    htmlMediaReadyState_Max = 2147483647L
} htmlMediaReadyState;

typedef enum _htmlMediaErr
{
    htmlMediaErrAborted = 0,
    htmlMediaErrNetwork = 1,
    htmlMediaErrDecode = 2,
    htmlMediaErrSrcNotSupported = 3,
    htmlMediaErr_Max = 2147483647L
} htmlMediaErr;

[
    odl,
    oleautomation,
    dual,
    uuid(30510704-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMediaError : IDispatch
{
    [propget, id(DISPID_IHTMLMEDIAERROR_CODE)] HRESULT code([retval, out] short * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510705-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTimeRanges : IDispatch
{
    [propget, id(DISPID_IHTMLTIMERANGES_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLTIMERANGES_START)] HRESULT start([in] long index,[retval, out] float* startTime);
    [id(DISPID_IHTMLTIMERANGES_END)] HRESULT end([in] long index,[retval, out] float* endTime);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051080B-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTimeRanges2 : IDispatch
{
    [id(DISPID_IHTMLTIMERANGES2_STARTDOUBLE)] HRESULT startDouble([in] long index,[retval, out] double* startTime);
    [id(DISPID_IHTMLTIMERANGES2_ENDDOUBLE)] HRESULT endDouble([in] long index,[retval, out] double* endTime);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510706-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMediaElement : IDispatch
{
    [propget, id(DISPID_IHTMLMEDIAELEMENT_ERROR)] HRESULT error([retval, out] IHTMLMediaError* * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_SRC), displaybind, bindable] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SRC), displaybind, bindable] HRESULT src([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CURRENTSRC), displaybind, bindable] HRESULT currentSrc([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_NETWORKSTATE), displaybind, bindable] HRESULT networkState([retval, out] USHORT * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_PRELOAD), displaybind, bindable] HRESULT preload([in] BSTR v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PRELOAD), displaybind, bindable] HRESULT preload([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_BUFFERED), displaybind, bindable] HRESULT buffered([retval, out] IHTMLTimeRanges* * p);
    [id(DISPID_IHTMLMEDIAELEMENT_LOAD)] HRESULT load();
    [id(DISPID_IHTMLMEDIAELEMENT_CANPLAYTYPE)] HRESULT canPlayType([in] BSTR type,[retval, out] BSTR* canPlay);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SEEKING), displaybind, bindable] HRESULT seeking([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_CURRENTTIME), displaybind, bindable] HRESULT currentTime([in] float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CURRENTTIME), displaybind, bindable] HRESULT currentTime([retval, out] float * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_INITIALTIME), displaybind, bindable] HRESULT initialTime([retval, out] float * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_DURATION), displaybind, bindable] HRESULT duration([retval, out] float * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PAUSED), displaybind, bindable] HRESULT paused([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_DEFAULTPLAYBACKRATE), displaybind, bindable] HRESULT defaultPlaybackRate([in] float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_DEFAULTPLAYBACKRATE), displaybind, bindable] HRESULT defaultPlaybackRate([retval, out] float * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_PLAYBACKRATE), displaybind, bindable] HRESULT playbackRate([in] float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PLAYBACKRATE), displaybind, bindable] HRESULT playbackRate([retval, out] float * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PLAYED), displaybind, bindable] HRESULT played([retval, out] IHTMLTimeRanges* * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SEEKABLE), displaybind, bindable] HRESULT seekable([retval, out] IHTMLTimeRanges* * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_ENDED), displaybind, bindable] HRESULT ended([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_AUTOPLAY), displaybind, bindable] HRESULT autoplay([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_AUTOPLAY), displaybind, bindable] HRESULT autoplay([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_LOOP), displaybind, bindable] HRESULT loop([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_LOOP), displaybind, bindable] HRESULT loop([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IHTMLMEDIAELEMENT_PLAY)] HRESULT play();
    [id(DISPID_IHTMLMEDIAELEMENT_PAUSE)] HRESULT pause();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_CONTROLS), displaybind, bindable] HRESULT controls([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CONTROLS), displaybind, bindable] HRESULT controls([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_VOLUME), displaybind, bindable] HRESULT volume([in] float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_VOLUME), displaybind, bindable] HRESULT volume([retval, out] float * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_MUTED), displaybind, bindable] HRESULT muted([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_MUTED), displaybind, bindable] HRESULT muted([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT_AUTOBUFFER), displaybind, bindable] HRESULT autobuffer([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_AUTOBUFFER), displaybind, bindable] HRESULT autobuffer([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510809-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMediaElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_CURRENTTIMEDOUBLE), displaybind, bindable] HRESULT currentTimeDouble([in] double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_CURRENTTIMEDOUBLE), displaybind, bindable] HRESULT currentTimeDouble([retval, out] double * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_INITIALTIMEDOUBLE), displaybind, bindable] HRESULT initialTimeDouble([retval, out] double * p);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_DURATIONDOUBLE), displaybind, bindable] HRESULT durationDouble([retval, out] double * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_DEFAULTPLAYBACKRATEDOUBLE), displaybind, bindable] HRESULT defaultPlaybackRateDouble([in] double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_DEFAULTPLAYBACKRATEDOUBLE), displaybind, bindable] HRESULT defaultPlaybackRateDouble([retval, out] double * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_PLAYBACKRATEDOUBLE), displaybind, bindable] HRESULT playbackRateDouble([in] double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_PLAYBACKRATEDOUBLE), displaybind, bindable] HRESULT playbackRateDouble([retval, out] double * p);
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_VOLUMEDOUBLE), displaybind, bindable] HRESULT volumeDouble([in] double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_VOLUMEDOUBLE), displaybind, bindable] HRESULT volumeDouble([retval, out] double * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510792-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMSMediaElement : IDispatch
{
    [propput, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTODISABLED), displaybind, bindable] HRESULT msPlayToDisabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTODISABLED), displaybind, bindable] HRESULT msPlayToDisabled([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] HRESULT msPlayToPrimary([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] HRESULT msPlayToPrimary([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510707-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSourceElement : IDispatch
{
    [propput, id(DISPID_IHTMLSOURCEELEMENT_SRC)] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLSOURCEELEMENT_SRC)] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSOURCEELEMENT_TYPE)] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLSOURCEELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSOURCEELEMENT_MEDIA)] HRESULT media([in] BSTR v);
    [propget, id(DISPID_IHTMLSOURCEELEMENT_MEDIA)] HRESULT media([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510708-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAudioElement : IDispatch
{
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510709-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLVideoElement : IDispatch
{
    [propput, id(DISPID_IHTMLVIDEOELEMENT_WIDTH), displaybind, bindable] HRESULT width([in] long v);
    [propget, id(DISPID_IHTMLVIDEOELEMENT_WIDTH), displaybind, bindable] HRESULT width([retval, out] long * p);
    [propput, id(DISPID_IHTMLVIDEOELEMENT_HEIGHT), displaybind, bindable] HRESULT height([in] long v);
    [propget, id(DISPID_IHTMLVIDEOELEMENT_HEIGHT), displaybind, bindable] HRESULT height([retval, out] long * p);
    [propget, id(DISPID_IHTMLVIDEOELEMENT_VIDEOWIDTH), displaybind, bindable] HRESULT videoWidth([retval, out] ULONG * p);
    [propget, id(DISPID_IHTMLVIDEOELEMENT_VIDEOHEIGHT), displaybind, bindable] HRESULT videoHeight([retval, out] ULONG * p);
    [propput, id(DISPID_IHTMLVIDEOELEMENT_POSTER), displaybind, bindable] HRESULT poster([in] BSTR v);
    [propget, id(DISPID_IHTMLVIDEOELEMENT_POSTER), displaybind, bindable] HRESULT poster([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305107eb-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAudioElementFactory : IDispatch
{
    [id(DISPID_IHTMLAUDIOELEMENTFACTORY_CREATE)] HRESULT create([optional, in] VARIANT src,[retval, out] IHTMLAudioElement** );
};
[
    hidden,
    uuid(30590086-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLMediaError
{
properties:
methods:
    [propget, id(DISPID_IHTMLMEDIAERROR_CODE)] short code();
};
[
    noncreatable,
    uuid(3051070a-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLMediaError
{
    [default]           dispinterface DispHTMLMediaError;
                        interface IHTMLMediaError;
};
cpp_quote("EXTERN_C const GUID CLSID_CMediaError;")
[
    hidden,
    uuid(30590087-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTimeRanges
{
properties:
methods:
    [propget, id(DISPID_IHTMLTIMERANGES_LENGTH)] long length();
    [id(DISPID_IHTMLTIMERANGES_START)] float start([in] long index);
    [id(DISPID_IHTMLTIMERANGES_END)] float end([in] long index);
    [id(DISPID_IHTMLTIMERANGES2_STARTDOUBLE)] double startDouble([in] long index);
    [id(DISPID_IHTMLTIMERANGES2_ENDDOUBLE)] double endDouble([in] long index);
};
[
    noncreatable,
    uuid(3051070b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTimeRanges
{
    [default]           dispinterface DispHTMLTimeRanges;
                        interface IHTMLTimeRanges;
                        interface IHTMLTimeRanges2;
};
cpp_quote("EXTERN_C const GUID CLSID_CTimeRanges;")
[
    hidden,
    uuid(30590088-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLMediaElement
{
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_ERROR)] IHTMLMediaError* error();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_SRC), displaybind, bindable] void src(BSTR v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SRC), displaybind, bindable] BSTR src();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CURRENTSRC), displaybind, bindable] BSTR currentSrc();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_NETWORKSTATE), displaybind, bindable] USHORT networkState();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_PRELOAD), displaybind, bindable] void preload(BSTR v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PRELOAD), displaybind, bindable] BSTR preload();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_BUFFERED), displaybind, bindable] IHTMLTimeRanges* buffered();
    [id(DISPID_IHTMLMEDIAELEMENT_LOAD)] void load();
    [id(DISPID_IHTMLMEDIAELEMENT_CANPLAYTYPE)] BSTR canPlayType([in] BSTR type);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SEEKING), displaybind, bindable] VARIANT_BOOL seeking();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_CURRENTTIME), displaybind, bindable] void currentTime(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CURRENTTIME), displaybind, bindable] float currentTime();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_INITIALTIME), displaybind, bindable] float initialTime();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_DURATION), displaybind, bindable] float duration();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PAUSED), displaybind, bindable] VARIANT_BOOL paused();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_DEFAULTPLAYBACKRATE), displaybind, bindable] void defaultPlaybackRate(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_DEFAULTPLAYBACKRATE), displaybind, bindable] float defaultPlaybackRate();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_PLAYBACKRATE), displaybind, bindable] void playbackRate(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PLAYBACKRATE), displaybind, bindable] float playbackRate();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PLAYED), displaybind, bindable] IHTMLTimeRanges* played();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SEEKABLE), displaybind, bindable] IHTMLTimeRanges* seekable();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_ENDED), displaybind, bindable] VARIANT_BOOL ended();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_AUTOPLAY), displaybind, bindable] void autoplay(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_AUTOPLAY), displaybind, bindable] VARIANT_BOOL autoplay();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_LOOP), displaybind, bindable] void loop(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_LOOP), displaybind, bindable] VARIANT_BOOL loop();
    [id(DISPID_IHTMLMEDIAELEMENT_PLAY)] void play();
    [id(DISPID_IHTMLMEDIAELEMENT_PAUSE)] void pause();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_CONTROLS), displaybind, bindable] void controls(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CONTROLS), displaybind, bindable] VARIANT_BOOL controls();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_VOLUME), displaybind, bindable] void volume(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_VOLUME), displaybind, bindable] float volume();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_MUTED), displaybind, bindable] void muted(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_MUTED), displaybind, bindable] VARIANT_BOOL muted();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_AUTOBUFFER), displaybind, bindable] void autobuffer(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_AUTOBUFFER), displaybind, bindable] VARIANT_BOOL autobuffer();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_CURRENTTIMEDOUBLE), displaybind, bindable] void currentTimeDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_CURRENTTIMEDOUBLE), displaybind, bindable] double currentTimeDouble();
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_INITIALTIMEDOUBLE), displaybind, bindable] double initialTimeDouble();
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_DURATIONDOUBLE), displaybind, bindable] double durationDouble();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_DEFAULTPLAYBACKRATEDOUBLE), displaybind, bindable] void defaultPlaybackRateDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_DEFAULTPLAYBACKRATEDOUBLE), displaybind, bindable] double defaultPlaybackRateDouble();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_PLAYBACKRATEDOUBLE), displaybind, bindable] void playbackRateDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_PLAYBACKRATEDOUBLE), displaybind, bindable] double playbackRateDouble();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_VOLUMEDOUBLE), displaybind, bindable] void volumeDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_VOLUMEDOUBLE), displaybind, bindable] double volumeDouble();
    [propput, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTODISABLED), displaybind, bindable] void msPlayToDisabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTODISABLED), displaybind, bindable] VARIANT_BOOL msPlayToDisabled();
    [propput, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] void msPlayToPrimary(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] VARIANT_BOOL msPlayToPrimary();
};
[
    noncreatable,
    uuid(3051070c-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLMediaElement
{
    [default]           dispinterface DispHTMLMediaElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLMediaElement;
                        interface IHTMLMediaElement2;
                        interface IHTMLMSMediaElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CMediaElement;")
[
    hidden,
    uuid(30590089-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLSourceElement
{
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [propput, id(DISPID_IHTMLSOURCEELEMENT_SRC)] void src(BSTR v);
    [propget, id(DISPID_IHTMLSOURCEELEMENT_SRC)] BSTR src();
    [propput, id(DISPID_IHTMLSOURCEELEMENT_TYPE)] void type(BSTR v);
    [propget, id(DISPID_IHTMLSOURCEELEMENT_TYPE)] BSTR type();
    [propput, id(DISPID_IHTMLSOURCEELEMENT_MEDIA)] void media(BSTR v);
    [propget, id(DISPID_IHTMLSOURCEELEMENT_MEDIA)] BSTR media();
};
[
    noncreatable,
    uuid(3051070d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLSourceElement
{
    [default]           dispinterface DispHTMLSourceElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLSourceElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CSourceElement;")
[
    hidden,
    uuid(3059008a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLAudioElement
{
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_ERROR)] IHTMLMediaError* error();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_SRC), displaybind, bindable] void src(BSTR v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SRC), displaybind, bindable] BSTR src();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CURRENTSRC), displaybind, bindable] BSTR currentSrc();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_NETWORKSTATE), displaybind, bindable] USHORT networkState();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_PRELOAD), displaybind, bindable] void preload(BSTR v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PRELOAD), displaybind, bindable] BSTR preload();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_BUFFERED), displaybind, bindable] IHTMLTimeRanges* buffered();
    [id(DISPID_IHTMLMEDIAELEMENT_LOAD)] void load();
    [id(DISPID_IHTMLMEDIAELEMENT_CANPLAYTYPE)] BSTR canPlayType([in] BSTR type);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SEEKING), displaybind, bindable] VARIANT_BOOL seeking();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_CURRENTTIME), displaybind, bindable] void currentTime(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CURRENTTIME), displaybind, bindable] float currentTime();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_INITIALTIME), displaybind, bindable] float initialTime();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_DURATION), displaybind, bindable] float duration();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PAUSED), displaybind, bindable] VARIANT_BOOL paused();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_DEFAULTPLAYBACKRATE), displaybind, bindable] void defaultPlaybackRate(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_DEFAULTPLAYBACKRATE), displaybind, bindable] float defaultPlaybackRate();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_PLAYBACKRATE), displaybind, bindable] void playbackRate(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PLAYBACKRATE), displaybind, bindable] float playbackRate();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PLAYED), displaybind, bindable] IHTMLTimeRanges* played();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SEEKABLE), displaybind, bindable] IHTMLTimeRanges* seekable();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_ENDED), displaybind, bindable] VARIANT_BOOL ended();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_AUTOPLAY), displaybind, bindable] void autoplay(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_AUTOPLAY), displaybind, bindable] VARIANT_BOOL autoplay();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_LOOP), displaybind, bindable] void loop(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_LOOP), displaybind, bindable] VARIANT_BOOL loop();
    [id(DISPID_IHTMLMEDIAELEMENT_PLAY)] void play();
    [id(DISPID_IHTMLMEDIAELEMENT_PAUSE)] void pause();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_CONTROLS), displaybind, bindable] void controls(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CONTROLS), displaybind, bindable] VARIANT_BOOL controls();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_VOLUME), displaybind, bindable] void volume(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_VOLUME), displaybind, bindable] float volume();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_MUTED), displaybind, bindable] void muted(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_MUTED), displaybind, bindable] VARIANT_BOOL muted();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_AUTOBUFFER), displaybind, bindable] void autobuffer(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_AUTOBUFFER), displaybind, bindable] VARIANT_BOOL autobuffer();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_CURRENTTIMEDOUBLE), displaybind, bindable] void currentTimeDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_CURRENTTIMEDOUBLE), displaybind, bindable] double currentTimeDouble();
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_INITIALTIMEDOUBLE), displaybind, bindable] double initialTimeDouble();
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_DURATIONDOUBLE), displaybind, bindable] double durationDouble();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_DEFAULTPLAYBACKRATEDOUBLE), displaybind, bindable] void defaultPlaybackRateDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_DEFAULTPLAYBACKRATEDOUBLE), displaybind, bindable] double defaultPlaybackRateDouble();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_PLAYBACKRATEDOUBLE), displaybind, bindable] void playbackRateDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_PLAYBACKRATEDOUBLE), displaybind, bindable] double playbackRateDouble();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_VOLUMEDOUBLE), displaybind, bindable] void volumeDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_VOLUMEDOUBLE), displaybind, bindable] double volumeDouble();
    [propput, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTODISABLED), displaybind, bindable] void msPlayToDisabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTODISABLED), displaybind, bindable] VARIANT_BOOL msPlayToDisabled();
    [propput, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] void msPlayToPrimary(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] VARIANT_BOOL msPlayToPrimary();
};
[
    noncreatable,
    uuid(3051070e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLAudioElement
{
    [default]           dispinterface DispHTMLAudioElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLMediaElement;
                        interface IHTMLMediaElement2;
                        interface IHTMLMSMediaElement;
                        interface IHTMLAudioElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CAudioElement;")
[
    noncreatable,
    uuid(305107ec-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLAudioElementFactory
{
    [default]           interface IHTMLAudioElementFactory;
};
cpp_quote("EXTERN_C const GUID CLSID_CAudioElementFactory;")
[
    hidden,
    uuid(3059008b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLVideoElement
{
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_ERROR)] IHTMLMediaError* error();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_SRC), displaybind, bindable] void src(BSTR v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SRC), displaybind, bindable] BSTR src();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CURRENTSRC), displaybind, bindable] BSTR currentSrc();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_NETWORKSTATE), displaybind, bindable] USHORT networkState();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_PRELOAD), displaybind, bindable] void preload(BSTR v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PRELOAD), displaybind, bindable] BSTR preload();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_BUFFERED), displaybind, bindable] IHTMLTimeRanges* buffered();
    [id(DISPID_IHTMLMEDIAELEMENT_LOAD)] void load();
    [id(DISPID_IHTMLMEDIAELEMENT_CANPLAYTYPE)] BSTR canPlayType([in] BSTR type);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SEEKING), displaybind, bindable] VARIANT_BOOL seeking();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_CURRENTTIME), displaybind, bindable] void currentTime(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CURRENTTIME), displaybind, bindable] float currentTime();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_INITIALTIME), displaybind, bindable] float initialTime();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_DURATION), displaybind, bindable] float duration();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PAUSED), displaybind, bindable] VARIANT_BOOL paused();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_DEFAULTPLAYBACKRATE), displaybind, bindable] void defaultPlaybackRate(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_DEFAULTPLAYBACKRATE), displaybind, bindable] float defaultPlaybackRate();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_PLAYBACKRATE), displaybind, bindable] void playbackRate(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PLAYBACKRATE), displaybind, bindable] float playbackRate();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_PLAYED), displaybind, bindable] IHTMLTimeRanges* played();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_SEEKABLE), displaybind, bindable] IHTMLTimeRanges* seekable();
    [propget, id(DISPID_IHTMLMEDIAELEMENT_ENDED), displaybind, bindable] VARIANT_BOOL ended();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_AUTOPLAY), displaybind, bindable] void autoplay(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_AUTOPLAY), displaybind, bindable] VARIANT_BOOL autoplay();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_LOOP), displaybind, bindable] void loop(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_LOOP), displaybind, bindable] VARIANT_BOOL loop();
    [id(DISPID_IHTMLMEDIAELEMENT_PLAY)] void play();
    [id(DISPID_IHTMLMEDIAELEMENT_PAUSE)] void pause();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_CONTROLS), displaybind, bindable] void controls(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_CONTROLS), displaybind, bindable] VARIANT_BOOL controls();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_VOLUME), displaybind, bindable] void volume(float v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_VOLUME), displaybind, bindable] float volume();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_MUTED), displaybind, bindable] void muted(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_MUTED), displaybind, bindable] VARIANT_BOOL muted();
    [propput, id(DISPID_IHTMLMEDIAELEMENT_AUTOBUFFER), displaybind, bindable] void autobuffer(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT_AUTOBUFFER), displaybind, bindable] VARIANT_BOOL autobuffer();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_CURRENTTIMEDOUBLE), displaybind, bindable] void currentTimeDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_CURRENTTIMEDOUBLE), displaybind, bindable] double currentTimeDouble();
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_INITIALTIMEDOUBLE), displaybind, bindable] double initialTimeDouble();
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_DURATIONDOUBLE), displaybind, bindable] double durationDouble();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_DEFAULTPLAYBACKRATEDOUBLE), displaybind, bindable] void defaultPlaybackRateDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_DEFAULTPLAYBACKRATEDOUBLE), displaybind, bindable] double defaultPlaybackRateDouble();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_PLAYBACKRATEDOUBLE), displaybind, bindable] void playbackRateDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_PLAYBACKRATEDOUBLE), displaybind, bindable] double playbackRateDouble();
    [propput, id(DISPID_IHTMLMEDIAELEMENT2_VOLUMEDOUBLE), displaybind, bindable] void volumeDouble(double v);
    [propget, id(DISPID_IHTMLMEDIAELEMENT2_VOLUMEDOUBLE), displaybind, bindable] double volumeDouble();
    [propput, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTODISABLED), displaybind, bindable] void msPlayToDisabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTODISABLED), displaybind, bindable] VARIANT_BOOL msPlayToDisabled();
    [propput, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] void msPlayToPrimary(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMSMEDIAELEMENT_MSPLAYTOPRIMARY), displaybind, bindable] VARIANT_BOOL msPlayToPrimary();
    [propput, id(DISPID_IHTMLVIDEOELEMENT_WIDTH), displaybind, bindable] void width(long v);
    [propget, id(DISPID_IHTMLVIDEOELEMENT_WIDTH), displaybind, bindable] long width();
    [propput, id(DISPID_IHTMLVIDEOELEMENT_HEIGHT), displaybind, bindable] void height(long v);
    [propget, id(DISPID_IHTMLVIDEOELEMENT_HEIGHT), displaybind, bindable] long height();
    [propget, id(DISPID_IHTMLVIDEOELEMENT_VIDEOWIDTH), displaybind, bindable] ULONG videoWidth();
    [propget, id(DISPID_IHTMLVIDEOELEMENT_VIDEOHEIGHT), displaybind, bindable] ULONG videoHeight();
    [propput, id(DISPID_IHTMLVIDEOELEMENT_POSTER), displaybind, bindable] void poster(BSTR v);
    [propget, id(DISPID_IHTMLVIDEOELEMENT_POSTER), displaybind, bindable] BSTR poster();
};
[
    noncreatable,
    uuid(3051070f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLVideoElement
{
    [default]           dispinterface DispHTMLVideoElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLMediaElement;
                        interface IHTMLMediaElement2;
                        interface IHTMLMSMediaElement;
                        interface IHTMLVideoElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CVideoElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104f1-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGSwitchElement : IDispatch
{
};
[
    hidden,
    uuid(30590030-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGSwitchElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
    [propget, id(DISPID_ISVGTRANSFORMABLE_TRANSFORM)] ISVGAnimatedTransformList* transform();
    [propget, id(DISPID_ISVGLOCATABLE_NEARESTVIEWPORTELEMENT)] ISVGElement* nearestViewportElement();
    [propget, id(DISPID_ISVGLOCATABLE_FARTHESTVIEWPORTELEMENT)] ISVGElement* farthestViewportElement();
    [id(DISPID_ISVGLOCATABLE_GETBBOX)] ISVGRect* getBBox();
    [id(DISPID_ISVGLOCATABLE_GETCTM)] ISVGMatrix* getCTM();
    [id(DISPID_ISVGLOCATABLE_GETSCREENCTM)] ISVGMatrix* getScreenCTM();
    [id(DISPID_ISVGLOCATABLE_GETTRANSFORMTOELEMENT)] ISVGMatrix* getTransformToElement([in] ISVGElement* pElement);
};
[
    noncreatable,
    uuid(305105d8-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGSwitchElement
{
    [default]           dispinterface DispSVGSwitchElement;
                        interface ISVGSwitchElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
                        interface ISVGTransformable;
                        interface ISVGLocatable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGSwitchElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104ea-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGDescElement : IDispatch
{
};
[
    hidden,
    uuid(30590005-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGDescElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(30510572-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGDescElement
{
    [default]           dispinterface DispSVGDescElement;
                        interface ISVGDescElement;
                        interface ISVGElement;
                        interface ISVGLangSpace;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGDescElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104eb-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTitleElement : IDispatch
{
};
[
    hidden,
    uuid(30590006-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGTitleElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(30510573-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGTitleElement
{
    [default]           dispinterface DispSVGTitleElement;
                        interface ISVGTitleElement;
                        interface ISVGElement;
                        interface ISVGLangSpace;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGTitleElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510560-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGMetadataElement : IDispatch
{
};
[
    hidden,
    uuid(3059002f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGMetadataElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
};
[
    noncreatable,
    uuid(305105d7-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGMetadataElement
{
    [default]           dispinterface DispSVGMetadataElement;
                        interface ISVGMetadataElement;
                        interface ISVGElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGMetadataElement;")
interface ISVGElement;
interface ISVGUseElement;
interface ISVGElementInstanceList;
[
    odl,
    oleautomation,
    dual,
    uuid(305104ee-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGElementInstance : IDispatch
{
    [propget, id(DISPID_ISVGELEMENTINSTANCE_CORRESPONDINGELEMENT)] HRESULT correspondingElement([retval, out] ISVGElement* * p);
    [propget, id(DISPID_ISVGELEMENTINSTANCE_CORRESPONDINGUSEELEMENT)] HRESULT correspondingUseElement([retval, out] ISVGUseElement* * p);
    [propget, id(DISPID_ISVGELEMENTINSTANCE_PARENTNODE)] HRESULT parentNode([retval, out] ISVGElementInstance* * p);
    [propget, id(DISPID_ISVGELEMENTINSTANCE_CHILDNODES)] HRESULT childNodes([retval, out] ISVGElementInstanceList* * p);
    [propget, id(DISPID_ISVGELEMENTINSTANCE_FIRSTCHILD)] HRESULT firstChild([retval, out] ISVGElementInstance* * p);
    [propget, id(DISPID_ISVGELEMENTINSTANCE_LASTCHILD)] HRESULT lastChild([retval, out] ISVGElementInstance* * p);
    [propget, id(DISPID_ISVGELEMENTINSTANCE_PREVIOUSSIBLING)] HRESULT previousSibling([retval, out] ISVGElementInstance* * p);
    [propget, id(DISPID_ISVGELEMENTINSTANCE_NEXTSIBLING)] HRESULT nextSibling([retval, out] ISVGElementInstance* * p);
};
[
    hidden,
    uuid(30590007-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGElementInstance
{
properties:
methods:
    [propget, id(DISPID_ISVGELEMENTINSTANCE_CORRESPONDINGELEMENT)] ISVGElement* correspondingElement();
    [propget, id(DISPID_ISVGELEMENTINSTANCE_CORRESPONDINGUSEELEMENT)] ISVGUseElement* correspondingUseElement();
    [propget, id(DISPID_ISVGELEMENTINSTANCE_PARENTNODE)] ISVGElementInstance* parentNode();
    [propget, id(DISPID_ISVGELEMENTINSTANCE_CHILDNODES)] ISVGElementInstanceList* childNodes();
    [propget, id(DISPID_ISVGELEMENTINSTANCE_FIRSTCHILD)] ISVGElementInstance* firstChild();
    [propget, id(DISPID_ISVGELEMENTINSTANCE_LASTCHILD)] ISVGElementInstance* lastChild();
    [propget, id(DISPID_ISVGELEMENTINSTANCE_PREVIOUSSIBLING)] ISVGElementInstance* previousSibling();
    [propget, id(DISPID_ISVGELEMENTINSTANCE_NEXTSIBLING)] ISVGElementInstance* nextSibling();
    [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)] void addEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)] void removeEventListener([in] BSTR type,[in] IDispatch* listener,[in] VARIANT_BOOL useCapture);
    [id(DISPID_IEVENTTARGET_DISPATCHEVENT)] VARIANT_BOOL dispatchEvent([in] IDOMEvent* evt);
};
[
    noncreatable,
    uuid(30510575-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGElementInstance
{
    [default]           dispinterface DispSVGElementInstance;
                        interface ISVGElementInstance;
                        interface IEventTarget;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGElementInstance;")
interface ISVGElementInstance;
[
    odl,
    oleautomation,
    dual,
    uuid(305104ef-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGElementInstanceList : IDispatch
{
    [propget, id(DISPID_ISVGELEMENTINSTANCELIST_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_ISVGELEMENTINSTANCELIST_ITEM)] HRESULT item([in] long index,[retval, out] ISVGElementInstance** ppResult);
};
[
    hidden,
    uuid(30590008-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGElementInstanceList
{
properties:
methods:
    [propget, id(DISPID_ISVGELEMENTINSTANCELIST_LENGTH)] long length();
    [id(DISPID_ISVGELEMENTINSTANCELIST_ITEM)] ISVGElementInstance* item([in] long index);
};
[
    noncreatable,
    uuid(30510576-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGElementInstanceList
{
    [default]           dispinterface DispSVGElementInstanceList;
                        interface ISVGElementInstanceList;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGElementInstanceList;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051072b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMException : IDispatch
{
    [propput, id(DISPID_IDOMEXCEPTION_CODE)] HRESULT code([in] long v);
    [propget, id(DISPID_IDOMEXCEPTION_CODE)] HRESULT code([retval, out] long * p);
    [propget, id(DISPID_IDOMEXCEPTION_MESSAGE)] HRESULT message([retval, out] BSTR * p);
};
[
    hidden,
    uuid(30590094-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMException
{
properties:
methods:
    [propput, id(DISPID_IDOMEXCEPTION_CODE)] void code(long v);
    [propget, id(DISPID_IDOMEXCEPTION_CODE)] long code();
    [propget, id(DISPID_IDOMEXCEPTION_MESSAGE)] BSTR message();
};
[
    noncreatable,
    uuid(3051072c-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMException
{
    [default]           dispinterface DispDOMException;
                        interface IDOMException;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMException;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051072d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IRangeException : IDispatch
{
    [propput, id(DISPID_IRANGEEXCEPTION_CODE)] HRESULT code([in] long v);
    [propget, id(DISPID_IRANGEEXCEPTION_CODE)] HRESULT code([retval, out] long * p);
    [propget, id(DISPID_IRANGEEXCEPTION_MESSAGE)] HRESULT message([retval, out] BSTR * p);
};
[
    hidden,
    uuid(30590095-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispRangeException
{
properties:
methods:
    [propput, id(DISPID_IRANGEEXCEPTION_CODE)] void code(long v);
    [propget, id(DISPID_IRANGEEXCEPTION_CODE)] long code();
    [propget, id(DISPID_IRANGEEXCEPTION_MESSAGE)] BSTR message();
};
[
    noncreatable,
    uuid(3051072e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass RangeException
{
    [default]           dispinterface DispRangeException;
                        interface IRangeException;
};
cpp_quote("EXTERN_C const GUID CLSID_CRangeException;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051072f-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGException : IDispatch
{
    [propput, id(DISPID_ISVGEXCEPTION_CODE)] HRESULT code([in] long v);
    [propget, id(DISPID_ISVGEXCEPTION_CODE)] HRESULT code([retval, out] long * p);
    [propget, id(DISPID_ISVGEXCEPTION_MESSAGE)] HRESULT message([retval, out] BSTR * p);
};
[
    hidden,
    uuid(30590096-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGException
{
properties:
methods:
    [propput, id(DISPID_ISVGEXCEPTION_CODE)] void code(long v);
    [propget, id(DISPID_ISVGEXCEPTION_CODE)] long code();
    [propget, id(DISPID_ISVGEXCEPTION_MESSAGE)] BSTR message();
};
[
    noncreatable,
    uuid(30510730-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGException
{
    [default]           dispinterface DispSVGException;
                        interface ISVGException;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGException;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051073a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IEventException : IDispatch
{
    [propput, id(DISPID_IEVENTEXCEPTION_CODE)] HRESULT code([in] long v);
    [propget, id(DISPID_IEVENTEXCEPTION_CODE)] HRESULT code([retval, out] long * p);
    [propget, id(DISPID_IEVENTEXCEPTION_MESSAGE)] HRESULT message([retval, out] BSTR * p);
};
[
    hidden,
    uuid(30590099-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispEventException
{
properties:
methods:
};
[
    noncreatable,
    uuid(3051073b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass EventException
{
    [default]           dispinterface DispEventException;
                        interface IEventException;
};
cpp_quote("EXTERN_C const GUID CLSID_CEventException;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051054d-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGScriptElement : IDispatch
{
    [propput, id(DISPID_ISVGSCRIPTELEMENT_TYPE)] HRESULT type([in] BSTR v);
    [propget, id(DISPID_ISVGSCRIPTELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
};
[
    hidden,
    uuid(30590039-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGScriptElement
{
properties:
methods:
    [propput, id(DISPID_ISVGSCRIPTELEMENT_TYPE)] void type(BSTR v);
    [propget, id(DISPID_ISVGSCRIPTELEMENT_TYPE)] BSTR type();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] ISVGAnimatedString* href();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
};
[
    noncreatable,
    uuid(305105e1-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGScriptElement
{
    [default]           dispinterface DispSVGScriptElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGScriptElement;
                        interface ISVGElement;
                        interface ISVGURIReference;
                        interface ISVGExternalResourcesRequired;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGScriptElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305104f3-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGStyleElement : IDispatch
{
    [propput, id(DISPID_ISVGSTYLEELEMENT_TYPE)] HRESULT type([in] BSTR v);
    [propget, id(DISPID_ISVGSTYLEELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_ISVGSTYLEELEMENT_MEDIA)] HRESULT media([in] BSTR v);
    [propget, id(DISPID_ISVGSTYLEELEMENT_MEDIA)] HRESULT media([retval, out] BSTR * p);
};
[
    hidden,
    uuid(30590029-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGStyleElement
{
properties:
methods:
    [propput, id(DISPID_ISVGSTYLEELEMENT_TYPE)] void type(BSTR v);
    [propget, id(DISPID_ISVGSTYLEELEMENT_TYPE)] BSTR type();
    [propput, id(DISPID_ISVGSTYLEELEMENT_MEDIA)] void media(BSTR v);
    [propget, id(DISPID_ISVGSTYLEELEMENT_MEDIA)] BSTR media();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
};
[
    noncreatable,
    uuid(305105d1-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGStyleElement
{
    [default]           dispinterface DispSVGStyleElement;
                        interface ISVGStyleElement;
                        interface ISVGElement;
                        interface ISVGLangSpace;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGStyleElement;")
typedef enum _lengthAdjust
{
    LENGTHADJUST_UNKNOWN = 0,
    LENGTHADJUST_SPACING = 1,
    LENGTHADJUST_SPACINGANDGLYPHS = 2,
    lengthAdjust_Max = 2147483647L
} lengthAdjust;

[
    odl,
    oleautomation,
    dual,
    uuid(3051051a-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTextContentElement : IDispatch
{
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] HRESULT textLength([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] HRESULT textLength([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] HRESULT lengthAdjust([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] HRESULT lengthAdjust([retval, out] ISVGAnimatedEnumeration* * p);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETNUMBEROFCHARS)] HRESULT getNumberOfChars([retval, out] long* pResult);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCOMPUTEDTEXTLENGTH)] HRESULT getComputedTextLength([retval, out] float* pResult);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSUBSTRINGLENGTH)] HRESULT getSubStringLength([in] long charnum,[in] long nchars,[retval, out] float* pResult);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSTARTPOSITIONOFCHAR)] HRESULT getStartPositionOfChar([in] long charnum,[retval, out] ISVGPoint** ppResult);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETENDPOSITIONOFCHAR)] HRESULT getEndPositionOfChar([in] long charnum,[retval, out] ISVGPoint** ppResult);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETEXTENTOFCHAR)] HRESULT getExtentOfChar([in] long charnum,[retval, out] ISVGRect** ppResult);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETROTATIONOFCHAR)] HRESULT getRotationOfChar([in] long charnum,[retval, out] float* pResult);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCHARNUMATPOSITION)] HRESULT getCharNumAtPosition([in] ISVGPoint* point,[retval, out] long* pResult);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_SELECTSUBSTRING)] HRESULT selectSubString([in] long charnum,[in] long nchars);
};
[
    hidden,
    uuid(30590035-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGTextContentElement
{
properties:
methods:
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] void textLength(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] ISVGAnimatedLength* textLength();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] void lengthAdjust(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] ISVGAnimatedEnumeration* lengthAdjust();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETNUMBEROFCHARS)] long getNumberOfChars();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCOMPUTEDTEXTLENGTH)] float getComputedTextLength();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSUBSTRINGLENGTH)] float getSubStringLength([in] long charnum,[in] long nchars);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSTARTPOSITIONOFCHAR)] ISVGPoint* getStartPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETENDPOSITIONOFCHAR)] ISVGPoint* getEndPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETEXTENTOFCHAR)] ISVGRect* getExtentOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETROTATIONOFCHAR)] float getRotationOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCHARNUMATPOSITION)] long getCharNumAtPosition([in] ISVGPoint* point);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_SELECTSUBSTRING)] void selectSubString([in] long charnum,[in] long nchars);
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(305105dd-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGTextContentElement
{
    [default]           dispinterface DispSVGTextContentElement;
                        interface ISVGElement;
                        interface ISVGTextContentElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGTextContentElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051051b-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTextPositioningElement : IDispatch
{
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_X)] HRESULT x([in] ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_X)] HRESULT x([retval, out] ISVGAnimatedLengthList* * p);
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_Y)] HRESULT y([in] ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_Y)] HRESULT y([retval, out] ISVGAnimatedLengthList* * p);
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DX)] HRESULT dx([in] ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DX)] HRESULT dx([retval, out] ISVGAnimatedLengthList* * p);
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DY)] HRESULT dy([in] ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DY)] HRESULT dy([retval, out] ISVGAnimatedLengthList* * p);
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_ROTATE)] HRESULT rotate([in] ISVGAnimatedNumberList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_ROTATE)] HRESULT rotate([retval, out] ISVGAnimatedNumberList* * p);
};
[
    hidden,
    uuid(30590038-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGTextPositioningElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_X)] void x(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_X)] ISVGAnimatedLengthList* x();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_Y)] void y(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_Y)] ISVGAnimatedLengthList* y();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DX)] void dx(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DX)] ISVGAnimatedLengthList* dx();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DY)] void dy(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DY)] ISVGAnimatedLengthList* dy();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_ROTATE)] void rotate(ISVGAnimatedNumberList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_ROTATE)] ISVGAnimatedNumberList* rotate();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] void textLength(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] ISVGAnimatedLength* textLength();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] void lengthAdjust(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] ISVGAnimatedEnumeration* lengthAdjust();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETNUMBEROFCHARS)] long getNumberOfChars();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCOMPUTEDTEXTLENGTH)] float getComputedTextLength();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSUBSTRINGLENGTH)] float getSubStringLength([in] long charnum,[in] long nchars);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSTARTPOSITIONOFCHAR)] ISVGPoint* getStartPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETENDPOSITIONOFCHAR)] ISVGPoint* getEndPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETEXTENTOFCHAR)] ISVGRect* getExtentOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETROTATIONOFCHAR)] float getRotationOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCHARNUMATPOSITION)] long getCharNumAtPosition([in] ISVGPoint* point);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_SELECTSUBSTRING)] void selectSubString([in] long charnum,[in] long nchars);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(305105e0-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGTextPositioningElement
{
    [default]           dispinterface DispSVGTextPositioningElement;
                        interface ISVGTextPositioningElement;
                        interface ISVGTextContentElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGTextPositioningElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510738-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMDocumentType : IDispatch
{
    [propget, id(DISPID_IDOMDOCUMENTTYPE_NAME)] HRESULT name([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMDOCUMENTTYPE_ENTITIES)] HRESULT entities([retval, out] IDispatch* * p);
    [propget, id(DISPID_IDOMDOCUMENTTYPE_NOTATIONS)] HRESULT notations([retval, out] IDispatch* * p);
    [propget, id(DISPID_IDOMDOCUMENTTYPE_PUBLICID)] HRESULT publicId([retval, out] VARIANT * p);
    [propget, id(DISPID_IDOMDOCUMENTTYPE_SYSTEMID)] HRESULT systemId([retval, out] VARIANT * p);
    [propget, id(DISPID_IDOMDOCUMENTTYPE_INTERNALSUBSET)] HRESULT internalSubset([retval, out] VARIANT * p);
};
[
    hidden,
    uuid(30590098-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMDocumentType
{
properties:
methods:
    [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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [propget, id(DISPID_IDOMDOCUMENTTYPE_NAME)] BSTR name();
    [propget, id(DISPID_IDOMDOCUMENTTYPE_ENTITIES)] IDispatch* entities();
    [propget, id(DISPID_IDOMDOCUMENTTYPE_NOTATIONS)] IDispatch* notations();
    [propget, id(DISPID_IDOMDOCUMENTTYPE_PUBLICID)] VARIANT publicId();
    [propget, id(DISPID_IDOMDOCUMENTTYPE_SYSTEMID)] VARIANT systemId();
    [propget, id(DISPID_IDOMDOCUMENTTYPE_INTERNALSUBSET)] VARIANT internalSubset();
};
[
    noncreatable,
    uuid(30510739-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMDocumentType
{
    [default]           dispinterface DispDOMDocumentType;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMNode3;
                        interface IDOMDocumentType;
};
cpp_quote("EXTERN_C const GUID CLSID_CDocumentType;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510746-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMNodeIterator : IDispatch
{
    [propget, id(DISPID_IDOMNODEITERATOR_ROOT)] HRESULT root([retval, out] IDispatch* * p);
    [propget, id(DISPID_IDOMNODEITERATOR_WHATTOSHOW)] HRESULT whatToShow([retval, out] ULONG * p);
    [propget, id(DISPID_IDOMNODEITERATOR_FILTER)] HRESULT filter([retval, out] IDispatch* * p);
    [propget, id(DISPID_IDOMNODEITERATOR_EXPANDENTITYREFERENCES)] HRESULT expandEntityReferences([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IDOMNODEITERATOR_NEXTNODE)] HRESULT nextNode([retval, out] IDispatch** ppRetNode);
    [id(DISPID_IDOMNODEITERATOR_PREVIOUSNODE)] HRESULT previousNode([retval, out] IDispatch** ppRetNode);
    [id(DISPID_IDOMNODEITERATOR_DETACH)] HRESULT detach();
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510748-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMTreeWalker : IDispatch
{
    [propget, id(DISPID_IDOMTREEWALKER_ROOT)] HRESULT root([retval, out] IDispatch* * p);
    [propget, id(DISPID_IDOMTREEWALKER_WHATTOSHOW)] HRESULT whatToShow([retval, out] ULONG * p);
    [propget, id(DISPID_IDOMTREEWALKER_FILTER)] HRESULT filter([retval, out] IDispatch* * p);
    [propget, id(DISPID_IDOMTREEWALKER_EXPANDENTITYREFERENCES)] HRESULT expandEntityReferences([retval, out] VARIANT_BOOL * p);
    [propputref, id(DISPID_IDOMTREEWALKER_CURRENTNODE)] HRESULT currentNode([in] IDispatch* v);
    [propget, id(DISPID_IDOMTREEWALKER_CURRENTNODE)] HRESULT currentNode([retval, out] IDispatch* * p);
    [id(DISPID_IDOMTREEWALKER_PARENTNODE)] HRESULT parentNode([retval, out] IDispatch** ppRetNode);
    [id(DISPID_IDOMTREEWALKER_FIRSTCHILD)] HRESULT firstChild([retval, out] IDispatch** ppRetNode);
    [id(DISPID_IDOMTREEWALKER_LASTCHILD)] HRESULT lastChild([retval, out] IDispatch** ppRetNode);
    [id(DISPID_IDOMTREEWALKER_PREVIOUSSIBLING)] HRESULT previousSibling([retval, out] IDispatch** ppRetNode);
    [id(DISPID_IDOMTREEWALKER_NEXTSIBLING)] HRESULT nextSibling([retval, out] IDispatch** ppRetNode);
    [id(DISPID_IDOMTREEWALKER_PREVIOUSNODE)] HRESULT previousNode([retval, out] IDispatch** ppRetNode);
    [id(DISPID_IDOMTREEWALKER_NEXTNODE)] HRESULT nextNode([retval, out] IDispatch** ppRetNode);
};
[
    hidden,
    uuid(3059009c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispNodeIterator
{
properties:
methods:
    [propget, id(DISPID_IDOMNODEITERATOR_ROOT)] IDispatch* root();
    [propget, id(DISPID_IDOMNODEITERATOR_WHATTOSHOW)] ULONG whatToShow();
    [propget, id(DISPID_IDOMNODEITERATOR_FILTER)] IDispatch* filter();
    [propget, id(DISPID_IDOMNODEITERATOR_EXPANDENTITYREFERENCES)] VARIANT_BOOL expandEntityReferences();
    [id(DISPID_IDOMNODEITERATOR_NEXTNODE)] IDispatch* nextNode();
    [id(DISPID_IDOMNODEITERATOR_PREVIOUSNODE)] IDispatch* previousNode();
    [id(DISPID_IDOMNODEITERATOR_DETACH)] void detach();
};
[
    noncreatable,
    uuid(30510745-98b5-11cf-bb82-00aa00bdce0b)
]
coclass NodeIterator
{
    [default]           dispinterface DispNodeIterator;
                        interface IDOMNodeIterator;
};
cpp_quote("EXTERN_C const GUID CLSID_CTraversalNodeIterator;")
[
    hidden,
    uuid(3059009d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispTreeWalker
{
properties:
methods:
    [propget, id(DISPID_IDOMTREEWALKER_ROOT)] IDispatch* root();
    [propget, id(DISPID_IDOMTREEWALKER_WHATTOSHOW)] ULONG whatToShow();
    [propget, id(DISPID_IDOMTREEWALKER_FILTER)] IDispatch* filter();
    [propget, id(DISPID_IDOMTREEWALKER_EXPANDENTITYREFERENCES)] VARIANT_BOOL expandEntityReferences();
    [propputref, id(DISPID_IDOMTREEWALKER_CURRENTNODE)] void currentNode(IDispatch* v);
    [propget, id(DISPID_IDOMTREEWALKER_CURRENTNODE)] IDispatch* currentNode();
    [id(DISPID_IDOMTREEWALKER_PARENTNODE)] IDispatch* parentNode();
    [id(DISPID_IDOMTREEWALKER_FIRSTCHILD)] IDispatch* firstChild();
    [id(DISPID_IDOMTREEWALKER_LASTCHILD)] IDispatch* lastChild();
    [id(DISPID_IDOMTREEWALKER_PREVIOUSSIBLING)] IDispatch* previousSibling();
    [id(DISPID_IDOMTREEWALKER_NEXTSIBLING)] IDispatch* nextSibling();
    [id(DISPID_IDOMTREEWALKER_PREVIOUSNODE)] IDispatch* previousNode();
    [id(DISPID_IDOMTREEWALKER_NEXTNODE)] IDispatch* nextNode();
};
[
    noncreatable,
    uuid(30510747-98b5-11cf-bb82-00aa00bdce0b)
]
coclass TreeWalker
{
    [default]           dispinterface DispTreeWalker;
                        interface IDOMTreeWalker;
};
cpp_quote("EXTERN_C const GUID CLSID_CTraversalTreeWalker;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510742-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMProcessingInstruction : IDispatch
{
    [propget, id(DISPID_IDOMPROCESSINGINSTRUCTION_TARGET)] HRESULT target([retval, out] BSTR * p);
    [propput, id(DISPID_IDOMPROCESSINGINSTRUCTION_DATA)] HRESULT data([in] BSTR v);
    [propget, id(DISPID_IDOMPROCESSINGINSTRUCTION_DATA)] HRESULT data([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3059009b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMProcessingInstruction
{
properties:
methods:
    [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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [propget, id(DISPID_IDOMPROCESSINGINSTRUCTION_TARGET)] BSTR target();
    [propput, id(DISPID_IDOMPROCESSINGINSTRUCTION_DATA)] void data(BSTR v);
    [propget, id(DISPID_IDOMPROCESSINGINSTRUCTION_DATA)] BSTR data();
};
[
    noncreatable,
    uuid(30510743-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMProcessingInstruction
{
    [default]           dispinterface DispDOMProcessingInstruction;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMNode3;
                        interface IDOMProcessingInstruction;
};
cpp_quote("EXTERN_C const GUID CLSID_CProcessingInstruction;")
interface IHTMLPerformance;
interface IHTMLPerformanceNavigation;
interface IHTMLPerformanceTiming;
[
    odl,
    oleautomation,
    dual,
    uuid(3051074e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPerformance : IDispatch
{
    [propget, id(DISPID_IHTMLPERFORMANCE_NAVIGATION)] HRESULT navigation([retval, out] IHTMLPerformanceNavigation* * p);
    [propget, id(DISPID_IHTMLPERFORMANCE_TIMING)] HRESULT timing([retval, out] IHTMLPerformanceTiming* * p);
    [id(DISPID_IHTMLPERFORMANCE_TOSTRING)] HRESULT toString([retval, out] BSTR* string);
    [id(DISPID_IHTMLPERFORMANCE_TOJSON)] HRESULT toJSON([retval, out] VARIANT* pVar);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510750-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPerformanceNavigation : IDispatch
{
    [propget, id(DISPID_IHTMLPERFORMANCENAVIGATION_TYPE)] HRESULT type([retval, out] ULONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCENAVIGATION_REDIRECTCOUNT)] HRESULT redirectCount([retval, out] ULONG * p);
    [id(DISPID_IHTMLPERFORMANCENAVIGATION_TOSTRING)] HRESULT toString([retval, out] BSTR* string);
    [id(DISPID_IHTMLPERFORMANCENAVIGATION_TOJSON)] HRESULT toJSON([retval, out] VARIANT* pVar);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510752-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPerformanceTiming : IDispatch
{
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_NAVIGATIONSTART)] HRESULT navigationStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_UNLOADEVENTSTART)] HRESULT unloadEventStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_UNLOADEVENTEND)] HRESULT unloadEventEnd([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_REDIRECTSTART)] HRESULT redirectStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_REDIRECTEND)] HRESULT redirectEnd([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_FETCHSTART)] HRESULT fetchStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMAINLOOKUPSTART)] HRESULT domainLookupStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMAINLOOKUPEND)] HRESULT domainLookupEnd([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_CONNECTSTART)] HRESULT connectStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_CONNECTEND)] HRESULT connectEnd([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_REQUESTSTART)] HRESULT requestStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_RESPONSESTART)] HRESULT responseStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_RESPONSEEND)] HRESULT responseEnd([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMLOADING)] HRESULT domLoading([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMINTERACTIVE)] HRESULT domInteractive([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMCONTENTLOADEDEVENTSTART)] HRESULT domContentLoadedEventStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMCONTENTLOADEDEVENTEND)] HRESULT domContentLoadedEventEnd([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMCOMPLETE)] HRESULT domComplete([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_LOADEVENTSTART)] HRESULT loadEventStart([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_LOADEVENTEND)] HRESULT loadEventEnd([retval, out] ULONGLONG * p);
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_MSFIRSTPAINT)] HRESULT msFirstPaint([retval, out] ULONGLONG * p);
    [id(DISPID_IHTMLPERFORMANCETIMING_TOSTRING)] HRESULT toString([retval, out] BSTR* string);
    [id(DISPID_IHTMLPERFORMANCETIMING_TOJSON)] HRESULT toJSON([retval, out] VARIANT* pVar);
};
[
    hidden,
    uuid(3059009f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLPerformance
{
properties:
methods:
    [propget, id(DISPID_IHTMLPERFORMANCE_NAVIGATION)] IHTMLPerformanceNavigation* navigation();
    [propget, id(DISPID_IHTMLPERFORMANCE_TIMING)] IHTMLPerformanceTiming* timing();
    [id(DISPID_IHTMLPERFORMANCE_TOSTRING)] BSTR toString();
    [id(DISPID_IHTMLPERFORMANCE_TOJSON)] VARIANT toJSON();
};
[
    noncreatable,
    uuid(3051074f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLPerformance
{
    [default]           dispinterface DispHTMLPerformance;
                        interface IHTMLPerformance;
};
cpp_quote("EXTERN_C const GUID CLSID_CMSPerformance;")
[
    hidden,
    uuid(305900a0-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLPerformanceNavigation
{
properties:
methods:
    [propget, id(DISPID_IHTMLPERFORMANCENAVIGATION_TYPE)] ULONG type();
    [propget, id(DISPID_IHTMLPERFORMANCENAVIGATION_REDIRECTCOUNT)] ULONG redirectCount();
    [id(DISPID_IHTMLPERFORMANCENAVIGATION_TOSTRING)] BSTR toString();
    [id(DISPID_IHTMLPERFORMANCENAVIGATION_TOJSON)] VARIANT toJSON();
};
[
    noncreatable,
    uuid(30510751-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLPerformanceNavigation
{
    [default]           dispinterface DispHTMLPerformanceNavigation;
                        interface IHTMLPerformanceNavigation;
};
cpp_quote("EXTERN_C const GUID CLSID_CMSPerformanceNavigation;")
[
    hidden,
    uuid(305900a1-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLPerformanceTiming
{
properties:
methods:
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_NAVIGATIONSTART)] ULONGLONG navigationStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_UNLOADEVENTSTART)] ULONGLONG unloadEventStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_UNLOADEVENTEND)] ULONGLONG unloadEventEnd();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_REDIRECTSTART)] ULONGLONG redirectStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_REDIRECTEND)] ULONGLONG redirectEnd();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_FETCHSTART)] ULONGLONG fetchStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMAINLOOKUPSTART)] ULONGLONG domainLookupStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMAINLOOKUPEND)] ULONGLONG domainLookupEnd();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_CONNECTSTART)] ULONGLONG connectStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_CONNECTEND)] ULONGLONG connectEnd();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_REQUESTSTART)] ULONGLONG requestStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_RESPONSESTART)] ULONGLONG responseStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_RESPONSEEND)] ULONGLONG responseEnd();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMLOADING)] ULONGLONG domLoading();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMINTERACTIVE)] ULONGLONG domInteractive();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMCONTENTLOADEDEVENTSTART)] ULONGLONG domContentLoadedEventStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMCONTENTLOADEDEVENTEND)] ULONGLONG domContentLoadedEventEnd();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_DOMCOMPLETE)] ULONGLONG domComplete();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_LOADEVENTSTART)] ULONGLONG loadEventStart();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_LOADEVENTEND)] ULONGLONG loadEventEnd();
    [propget, id(DISPID_IHTMLPERFORMANCETIMING_MSFIRSTPAINT)] ULONGLONG msFirstPaint();
    [id(DISPID_IHTMLPERFORMANCETIMING_TOSTRING)] BSTR toString();
    [id(DISPID_IHTMLPERFORMANCETIMING_TOJSON)] VARIANT toJSON();
};
[
    noncreatable,
    uuid(30510753-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLPerformanceTiming
{
    [default]           dispinterface DispHTMLPerformanceTiming;
                        interface IHTMLPerformanceTiming;
};
cpp_quote("EXTERN_C const GUID CLSID_CMSPerformanceTiming;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051051d-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTSpanElement : IDispatch
{
};
[
    hidden,
    uuid(3059003A-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGTSpanElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_X)] void x(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_X)] ISVGAnimatedLengthList* x();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_Y)] void y(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_Y)] ISVGAnimatedLengthList* y();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DX)] void dx(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DX)] ISVGAnimatedLengthList* dx();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DY)] void dy(ISVGAnimatedLengthList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_DY)] ISVGAnimatedLengthList* dy();
    [propputref, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_ROTATE)] void rotate(ISVGAnimatedNumberList* v);
    [propget, id(DISPID_ISVGTEXTPOSITIONINGELEMENT_ROTATE)] ISVGAnimatedNumberList* rotate();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] void textLength(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] ISVGAnimatedLength* textLength();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] void lengthAdjust(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] ISVGAnimatedEnumeration* lengthAdjust();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETNUMBEROFCHARS)] long getNumberOfChars();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCOMPUTEDTEXTLENGTH)] float getComputedTextLength();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSUBSTRINGLENGTH)] float getSubStringLength([in] long charnum,[in] long nchars);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSTARTPOSITIONOFCHAR)] ISVGPoint* getStartPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETENDPOSITIONOFCHAR)] ISVGPoint* getEndPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETEXTENTOFCHAR)] ISVGRect* getExtentOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETROTATIONOFCHAR)] float getRotationOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCHARNUMATPOSITION)] long getCharNumAtPosition([in] ISVGPoint* point);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_SELECTSUBSTRING)] void selectSubString([in] long charnum,[in] long nchars);
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(305105e2-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGTSpanElement
{
    [default]           dispinterface DispSVGTSpanElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGTSpanElement;
                        interface ISVGTextPositioningElement;
                        interface ISVGTextContentElement;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGTSpanElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f6b4-98b5-11cf-bb82-00aa00bdce0b)
]
interface ITemplatePrinter : IDispatch
{
    [id(DISPID_ITEMPLATEPRINTER_STARTDOC)] HRESULT startDoc([in] BSTR bstrTitle,[retval, out] VARIANT_BOOL* p);
    [id(DISPID_ITEMPLATEPRINTER_STOPDOC)] HRESULT stopDoc();
    [id(DISPID_ITEMPLATEPRINTER_PRINTBLANKPAGE)] HRESULT printBlankPage();
    [id(DISPID_ITEMPLATEPRINTER_PRINTPAGE)] HRESULT printPage([in] IDispatch* pElemDisp);
    [id(DISPID_ITEMPLATEPRINTER_ENSUREPRINTDIALOGDEFAULTS)] HRESULT ensurePrintDialogDefaults([retval, out] VARIANT_BOOL* p);
    [id(DISPID_ITEMPLATEPRINTER_SHOWPRINTDIALOG)] HRESULT showPrintDialog([retval, out] VARIANT_BOOL* p);
    [id(DISPID_ITEMPLATEPRINTER_SHOWPAGESETUPDIALOG)] HRESULT showPageSetupDialog([retval, out] VARIANT_BOOL* p);
    [id(DISPID_ITEMPLATEPRINTER_PRINTNONNATIVE)] HRESULT printNonNative([in] IUnknown* pMarkup,[retval, out] VARIANT_BOOL* p);
    [id(DISPID_ITEMPLATEPRINTER_PRINTNONNATIVEFRAMES)] HRESULT printNonNativeFrames([in] IUnknown* pMarkup,[in] VARIANT_BOOL fActiveFrame);
    [propput, id(DISPID_ITEMPLATEPRINTER_FRAMESETDOCUMENT)] HRESULT framesetDocument([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_FRAMESETDOCUMENT)] HRESULT framesetDocument([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_FRAMEACTIVE)] HRESULT frameActive([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_FRAMEACTIVE)] HRESULT frameActive([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_FRAMEASSHOWN)] HRESULT frameAsShown([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_FRAMEASSHOWN)] HRESULT frameAsShown([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_SELECTION)] HRESULT selection([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_SELECTION)] HRESULT selection([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_SELECTEDPAGES)] HRESULT selectedPages([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_SELECTEDPAGES)] HRESULT selectedPages([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_CURRENTPAGE)] HRESULT currentPage([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_CURRENTPAGE)] HRESULT currentPage([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_CURRENTPAGEAVAIL)] HRESULT currentPageAvail([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_CURRENTPAGEAVAIL)] HRESULT currentPageAvail([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_COLLATE)] HRESULT collate([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_COLLATE)] HRESULT collate([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_ITEMPLATEPRINTER_DUPLEX)] HRESULT duplex([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_COPIES)] HRESULT copies([in] USHORT v);
    [propget, id(DISPID_ITEMPLATEPRINTER_COPIES)] HRESULT copies([retval, out] USHORT * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_PAGEFROM)] HRESULT pageFrom([in] USHORT v);
    [propget, id(DISPID_ITEMPLATEPRINTER_PAGEFROM)] HRESULT pageFrom([retval, out] USHORT * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_PAGETO)] HRESULT pageTo([in] USHORT v);
    [propget, id(DISPID_ITEMPLATEPRINTER_PAGETO)] HRESULT pageTo([retval, out] USHORT * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_TABLEOFLINKS)] HRESULT tableOfLinks([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_TABLEOFLINKS)] HRESULT tableOfLinks([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_ALLLINKEDDOCUMENTS)] HRESULT allLinkedDocuments([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_ALLLINKEDDOCUMENTS)] HRESULT allLinkedDocuments([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_HEADER)] HRESULT header([in] BSTR v);
    [propget, id(DISPID_ITEMPLATEPRINTER_HEADER)] HRESULT header([retval, out] BSTR * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_FOOTER)] HRESULT footer([in] BSTR v);
    [propget, id(DISPID_ITEMPLATEPRINTER_FOOTER)] HRESULT footer([retval, out] BSTR * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_MARGINLEFT)] HRESULT marginLeft([in] long v);
    [propget, id(DISPID_ITEMPLATEPRINTER_MARGINLEFT)] HRESULT marginLeft([retval, out] long * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_MARGINRIGHT)] HRESULT marginRight([in] long v);
    [propget, id(DISPID_ITEMPLATEPRINTER_MARGINRIGHT)] HRESULT marginRight([retval, out] long * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_MARGINTOP)] HRESULT marginTop([in] long v);
    [propget, id(DISPID_ITEMPLATEPRINTER_MARGINTOP)] HRESULT marginTop([retval, out] long * p);
    [propput, id(DISPID_ITEMPLATEPRINTER_MARGINBOTTOM)] HRESULT marginBottom([in] long v);
    [propget, id(DISPID_ITEMPLATEPRINTER_MARGINBOTTOM)] HRESULT marginBottom([retval, out] long * p);
    [propget, id(DISPID_ITEMPLATEPRINTER_PAGEWIDTH)] HRESULT pageWidth([retval, out] long * p);
    [propget, id(DISPID_ITEMPLATEPRINTER_PAGEHEIGHT)] HRESULT pageHeight([retval, out] long * p);
    [propget, id(DISPID_ITEMPLATEPRINTER_UNPRINTABLELEFT)] HRESULT unprintableLeft([retval, out] long * p);
    [propget, id(DISPID_ITEMPLATEPRINTER_UNPRINTABLETOP)] HRESULT unprintableTop([retval, out] long * p);
    [propget, id(DISPID_ITEMPLATEPRINTER_UNPRINTABLERIGHT)] HRESULT unprintableRight([retval, out] long * p);
    [propget, id(DISPID_ITEMPLATEPRINTER_UNPRINTABLEBOTTOM)] HRESULT unprintableBottom([retval, out] long * p);
    [id(DISPID_ITEMPLATEPRINTER_UPDATEPAGESTATUS)] HRESULT updatePageStatus([in] long* p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f83f-98b5-11cf-bb82-00aa00bdce0b)
]
interface ITemplatePrinter2 : ITemplatePrinter
{
    [propput, id(DISPID_ITEMPLATEPRINTER2_SELECTIONENABLED)] HRESULT selectionEnabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER2_SELECTIONENABLED)] HRESULT selectionEnabled([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER2_FRAMEACTIVEENABLED)] HRESULT frameActiveEnabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER2_FRAMEACTIVEENABLED)] HRESULT frameActiveEnabled([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_ITEMPLATEPRINTER2_ORIENTATION)] HRESULT orientation([in] BSTR v);
    [propget, id(DISPID_ITEMPLATEPRINTER2_ORIENTATION)] HRESULT orientation([retval, out] BSTR * p);
    [propput, id(DISPID_ITEMPLATEPRINTER2_USEPRINTERCOPYCOLLATE)] HRESULT usePrinterCopyCollate([in] VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER2_USEPRINTERCOPYCOLLATE)] HRESULT usePrinterCopyCollate([retval, out] VARIANT_BOOL * p);
    [id(DISPID_ITEMPLATEPRINTER2_DEVICESUPPORTS)] HRESULT deviceSupports([in] BSTR bstrProperty,[retval, out] VARIANT* pvar);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104a3-98b5-11cf-bb82-00aa00bdce0b)
]
interface ITemplatePrinter3 : ITemplatePrinter2
{
    [propput, id(DISPID_ITEMPLATEPRINTER3_HEADERFOOTERFONT)] HRESULT headerFooterFont([in] BSTR v);
    [propget, id(DISPID_ITEMPLATEPRINTER3_HEADERFOOTERFONT)] HRESULT headerFooterFont([retval, out] BSTR * p);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINTOP)] HRESULT getPageMarginTop([in] IDispatch* pageRule,[in] long pageWidth,[in] long pageHeight,[retval, out] VARIANT* pMargin);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINRIGHT)] HRESULT getPageMarginRight([in] IDispatch* pageRule,[in] long pageWidth,[in] long pageHeight,[retval, out] VARIANT* pMargin);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINBOTTOM)] HRESULT getPageMarginBottom([in] IDispatch* pageRule,[in] long pageWidth,[in] long pageHeight,[retval, out] VARIANT* pMargin);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINLEFT)] HRESULT getPageMarginLeft([in] IDispatch* pageRule,[in] long pageWidth,[in] long pageHeight,[retval, out] VARIANT* pMargin);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINTOPIMPORTANT)] HRESULT getPageMarginTopImportant([in] IDispatch* pageRule,[retval, out] VARIANT_BOOL* pbImportant);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINRIGHTIMPORTANT)] HRESULT getPageMarginRightImportant([in] IDispatch* pageRule,[retval, out] VARIANT_BOOL* pbImportant);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINBOTTOMIMPORTANT)] HRESULT getPageMarginBottomImportant([in] IDispatch* pageRule,[retval, out] VARIANT_BOOL* pbImportant);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINLEFTIMPORTANT)] HRESULT getPageMarginLeftImportant([in] IDispatch* pageRule,[retval, out] VARIANT_BOOL* pbImportant);
};
[
    odl,
    oleautomation,
    dual,
    uuid(f633be14-9eff-4c4d-929e-05717b21b3e6)
]
interface IPrintManagerTemplatePrinter : IDispatch
{
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_STARTPRINT)] HRESULT startPrint();
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_DRAWPREVIEWPAGE)] HRESULT drawPreviewPage([in] IDispatch* pElemDisp,[in] long nPage);
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_SETPAGECOUNT)] HRESULT setPageCount([in] long nPage);
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_INVALIDATEPREVIEW)] HRESULT invalidatePreview();
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_GETPRINTTASKOPTIONVALUE)] HRESULT getPrintTaskOptionValue([in] BSTR bstrKey,[retval, out] VARIANT* pvarin);
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_ENDPRINT)] HRESULT endPrint();
};
[
    odl,
    oleautomation,
    dual,
    uuid(c6403497-7493-4f09-8016-54b03e9bda69)
]
interface IPrintManagerTemplatePrinter2 : IPrintManagerTemplatePrinter
{
    [propget, id(DISPID_IPRINTMANAGERTEMPLATEPRINTER2_SHOWHEADERFOOTER)] HRESULT showHeaderFooter([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IPRINTMANAGERTEMPLATEPRINTER2_SHRINKTOFIT)] HRESULT shrinkToFit([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IPRINTMANAGERTEMPLATEPRINTER2_PERCENTSCALE)] HRESULT percentScale([retval, out] float * p);
};
[
    uuid(3050f6b3-98b5-11cf-bb82-00aa00bdce0b)
]
coclass CTemplatePrinter
{
    [default]           interface ITemplatePrinter3;
};
cpp_quote("EXTERN_C const GUID CLSID_CTemplatePrinter;")
[
    hidden,
    uuid(305900e9-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispCPrintManagerTemplatePrinter
{
properties:
methods:
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_STARTPRINT)] void startPrint();
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_DRAWPREVIEWPAGE)] void drawPreviewPage([in] IDispatch* pElemDisp,[in] long nPage);
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_SETPAGECOUNT)] void setPageCount([in] long nPage);
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_INVALIDATEPREVIEW)] void invalidatePreview();
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_GETPRINTTASKOPTIONVALUE)] VARIANT getPrintTaskOptionValue([in] BSTR bstrKey);
    [id(DISPID_IPRINTMANAGERTEMPLATEPRINTER_ENDPRINT)] void endPrint();
    [propget, id(DISPID_IPRINTMANAGERTEMPLATEPRINTER2_SHOWHEADERFOOTER)] VARIANT_BOOL showHeaderFooter();
    [propget, id(DISPID_IPRINTMANAGERTEMPLATEPRINTER2_SHRINKTOFIT)] VARIANT_BOOL shrinkToFit();
    [propget, id(DISPID_IPRINTMANAGERTEMPLATEPRINTER2_PERCENTSCALE)] float percentScale();
    [id(DISPID_ITEMPLATEPRINTER_STARTDOC)] VARIANT_BOOL startDoc([in] BSTR bstrTitle);
    [id(DISPID_ITEMPLATEPRINTER_STOPDOC)] void stopDoc();
    [id(DISPID_ITEMPLATEPRINTER_PRINTBLANKPAGE)] void printBlankPage();
    [id(DISPID_ITEMPLATEPRINTER_PRINTPAGE)] void printPage([in] IDispatch* pElemDisp);
    [id(DISPID_ITEMPLATEPRINTER_ENSUREPRINTDIALOGDEFAULTS)] VARIANT_BOOL ensurePrintDialogDefaults();
    [id(DISPID_ITEMPLATEPRINTER_SHOWPRINTDIALOG)] VARIANT_BOOL showPrintDialog();
    [id(DISPID_ITEMPLATEPRINTER_SHOWPAGESETUPDIALOG)] VARIANT_BOOL showPageSetupDialog();
    [id(DISPID_ITEMPLATEPRINTER_PRINTNONNATIVE)] VARIANT_BOOL printNonNative([in] IUnknown* pMarkup);
    [id(DISPID_ITEMPLATEPRINTER_PRINTNONNATIVEFRAMES)] void printNonNativeFrames([in] IUnknown* pMarkup,[in] VARIANT_BOOL fActiveFrame);
    [propput, id(DISPID_ITEMPLATEPRINTER_FRAMESETDOCUMENT)] void framesetDocument(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_FRAMESETDOCUMENT)] VARIANT_BOOL framesetDocument();
    [propput, id(DISPID_ITEMPLATEPRINTER_FRAMEACTIVE)] void frameActive(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_FRAMEACTIVE)] VARIANT_BOOL frameActive();
    [propput, id(DISPID_ITEMPLATEPRINTER_FRAMEASSHOWN)] void frameAsShown(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_FRAMEASSHOWN)] VARIANT_BOOL frameAsShown();
    [propput, id(DISPID_ITEMPLATEPRINTER_SELECTION)] void selection(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_SELECTION)] VARIANT_BOOL selection();
    [propput, id(DISPID_ITEMPLATEPRINTER_SELECTEDPAGES)] void selectedPages(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_SELECTEDPAGES)] VARIANT_BOOL selectedPages();
    [propput, id(DISPID_ITEMPLATEPRINTER_CURRENTPAGE)] void currentPage(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_CURRENTPAGE)] VARIANT_BOOL currentPage();
    [propput, id(DISPID_ITEMPLATEPRINTER_CURRENTPAGEAVAIL)] void currentPageAvail(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_CURRENTPAGEAVAIL)] VARIANT_BOOL currentPageAvail();
    [propput, id(DISPID_ITEMPLATEPRINTER_COLLATE)] void collate(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_COLLATE)] VARIANT_BOOL collate();
    [propget, id(DISPID_ITEMPLATEPRINTER_DUPLEX)] VARIANT_BOOL duplex();
    [propput, id(DISPID_ITEMPLATEPRINTER_COPIES)] void copies(USHORT v);
    [propget, id(DISPID_ITEMPLATEPRINTER_COPIES)] USHORT copies();
    [propput, id(DISPID_ITEMPLATEPRINTER_PAGEFROM)] void pageFrom(USHORT v);
    [propget, id(DISPID_ITEMPLATEPRINTER_PAGEFROM)] USHORT pageFrom();
    [propput, id(DISPID_ITEMPLATEPRINTER_PAGETO)] void pageTo(USHORT v);
    [propget, id(DISPID_ITEMPLATEPRINTER_PAGETO)] USHORT pageTo();
    [propput, id(DISPID_ITEMPLATEPRINTER_TABLEOFLINKS)] void tableOfLinks(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_TABLEOFLINKS)] VARIANT_BOOL tableOfLinks();
    [propput, id(DISPID_ITEMPLATEPRINTER_ALLLINKEDDOCUMENTS)] void allLinkedDocuments(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER_ALLLINKEDDOCUMENTS)] VARIANT_BOOL allLinkedDocuments();
    [propput, id(DISPID_ITEMPLATEPRINTER_HEADER)] void header(BSTR v);
    [propget, id(DISPID_ITEMPLATEPRINTER_HEADER)] BSTR header();
    [propput, id(DISPID_ITEMPLATEPRINTER_FOOTER)] void footer(BSTR v);
    [propget, id(DISPID_ITEMPLATEPRINTER_FOOTER)] BSTR footer();
    [propput, id(DISPID_ITEMPLATEPRINTER_MARGINLEFT)] void marginLeft(long v);
    [propget, id(DISPID_ITEMPLATEPRINTER_MARGINLEFT)] long marginLeft();
    [propput, id(DISPID_ITEMPLATEPRINTER_MARGINRIGHT)] void marginRight(long v);
    [propget, id(DISPID_ITEMPLATEPRINTER_MARGINRIGHT)] long marginRight();
    [propput, id(DISPID_ITEMPLATEPRINTER_MARGINTOP)] void marginTop(long v);
    [propget, id(DISPID_ITEMPLATEPRINTER_MARGINTOP)] long marginTop();
    [propput, id(DISPID_ITEMPLATEPRINTER_MARGINBOTTOM)] void marginBottom(long v);
    [propget, id(DISPID_ITEMPLATEPRINTER_MARGINBOTTOM)] long marginBottom();
    [propget, id(DISPID_ITEMPLATEPRINTER_PAGEWIDTH)] long pageWidth();
    [propget, id(DISPID_ITEMPLATEPRINTER_PAGEHEIGHT)] long pageHeight();
    [propget, id(DISPID_ITEMPLATEPRINTER_UNPRINTABLELEFT)] long unprintableLeft();
    [propget, id(DISPID_ITEMPLATEPRINTER_UNPRINTABLETOP)] long unprintableTop();
    [propget, id(DISPID_ITEMPLATEPRINTER_UNPRINTABLERIGHT)] long unprintableRight();
    [propget, id(DISPID_ITEMPLATEPRINTER_UNPRINTABLEBOTTOM)] long unprintableBottom();
    [id(DISPID_ITEMPLATEPRINTER_UPDATEPAGESTATUS)] void updatePageStatus([in] long* p);
    [propput, id(DISPID_ITEMPLATEPRINTER2_SELECTIONENABLED)] void selectionEnabled(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER2_SELECTIONENABLED)] VARIANT_BOOL selectionEnabled();
    [propput, id(DISPID_ITEMPLATEPRINTER2_FRAMEACTIVEENABLED)] void frameActiveEnabled(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER2_FRAMEACTIVEENABLED)] VARIANT_BOOL frameActiveEnabled();
    [propput, id(DISPID_ITEMPLATEPRINTER2_ORIENTATION)] void orientation(BSTR v);
    [propget, id(DISPID_ITEMPLATEPRINTER2_ORIENTATION)] BSTR orientation();
    [propput, id(DISPID_ITEMPLATEPRINTER2_USEPRINTERCOPYCOLLATE)] void usePrinterCopyCollate(VARIANT_BOOL v);
    [propget, id(DISPID_ITEMPLATEPRINTER2_USEPRINTERCOPYCOLLATE)] VARIANT_BOOL usePrinterCopyCollate();
    [id(DISPID_ITEMPLATEPRINTER2_DEVICESUPPORTS)] VARIANT deviceSupports([in] BSTR bstrProperty);
    [propput, id(DISPID_ITEMPLATEPRINTER3_HEADERFOOTERFONT)] void headerFooterFont(BSTR v);
    [propget, id(DISPID_ITEMPLATEPRINTER3_HEADERFOOTERFONT)] BSTR headerFooterFont();
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINTOP)] VARIANT getPageMarginTop([in] IDispatch* pageRule,[in] long pageWidth,[in] long pageHeight);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINRIGHT)] VARIANT getPageMarginRight([in] IDispatch* pageRule,[in] long pageWidth,[in] long pageHeight);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINBOTTOM)] VARIANT getPageMarginBottom([in] IDispatch* pageRule,[in] long pageWidth,[in] long pageHeight);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINLEFT)] VARIANT getPageMarginLeft([in] IDispatch* pageRule,[in] long pageWidth,[in] long pageHeight);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINTOPIMPORTANT)] VARIANT_BOOL getPageMarginTopImportant([in] IDispatch* pageRule);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINRIGHTIMPORTANT)] VARIANT_BOOL getPageMarginRightImportant([in] IDispatch* pageRule);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINBOTTOMIMPORTANT)] VARIANT_BOOL getPageMarginBottomImportant([in] IDispatch* pageRule);
    [id(DISPID_ITEMPLATEPRINTER3_GETPAGEMARGINLEFTIMPORTANT)] VARIANT_BOOL getPageMarginLeftImportant([in] IDispatch* pageRule);
};
[
    noncreatable,
    uuid(63619f54-9d71-4c23-a08d-50d7f18db2e9)
]
coclass CPrintManagerTemplatePrinter
{
    [default]           dispinterface DispCPrintManagerTemplatePrinter;
                        interface IPrintManagerTemplatePrinter2;
                        interface ITemplatePrinter3;
};
cpp_quote("EXTERN_C const GUID CLSID_CPrintManagerTemplatePrinter;")
typedef enum _textpathMethodtype
{
    TEXTPATH_METHODTYPE_UNKNOWN = 0,
    TEXTPATH_METHODTYPE_ALIGN = 1,
    TEXTPATH_METHODTYPE_STRETCH = 2,
    textpathMethodtype_Max = 2147483647L
} textpathMethodtype;

typedef enum _textpathSpacingtype
{
    TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
    TEXTPATH_SPACINGTYPE_AUTO = 1,
    TEXTPATH_SPACINGTYPE_EXACT = 2,
    textpathSpacingtype_Max = 2147483647L
} textpathSpacingtype;

[
    odl,
    oleautomation,
    dual,
    uuid(3051051f-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISVGTextPathElement : IDispatch
{
    [propputref, id(DISPID_ISVGTEXTPATHELEMENT_STARTOFFSET)] HRESULT startOffset([in] ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGTEXTPATHELEMENT_STARTOFFSET)] HRESULT startOffset([retval, out] ISVGAnimatedLength* * p);
    [propputref, id(DISPID_ISVGTEXTPATHELEMENT_METHOD)] HRESULT method([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTPATHELEMENT_METHOD)] HRESULT method([retval, out] ISVGAnimatedEnumeration* * p);
    [propputref, id(DISPID_ISVGTEXTPATHELEMENT_SPACING)] HRESULT spacing([in] ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTPATHELEMENT_SPACING)] HRESULT spacing([retval, out] ISVGAnimatedEnumeration* * p);
};
[
    hidden,
    uuid(3059003D-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispSVGTextPathElement
{
properties:
methods:
    [propputref, id(DISPID_ISVGTEXTPATHELEMENT_STARTOFFSET)] void startOffset(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGTEXTPATHELEMENT_STARTOFFSET)] ISVGAnimatedLength* startOffset();
    [propputref, id(DISPID_ISVGTEXTPATHELEMENT_METHOD)] void method(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTPATHELEMENT_METHOD)] ISVGAnimatedEnumeration* method();
    [propputref, id(DISPID_ISVGTEXTPATHELEMENT_SPACING)] void spacing(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTPATHELEMENT_SPACING)] ISVGAnimatedEnumeration* spacing();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] void textLength(ISVGAnimatedLength* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_TEXTLENGTH)] ISVGAnimatedLength* textLength();
    [propputref, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] void lengthAdjust(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGTEXTCONTENTELEMENT_LENGTHADJUST)] ISVGAnimatedEnumeration* lengthAdjust();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETNUMBEROFCHARS)] long getNumberOfChars();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCOMPUTEDTEXTLENGTH)] float getComputedTextLength();
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSUBSTRINGLENGTH)] float getSubStringLength([in] long charnum,[in] long nchars);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETSTARTPOSITIONOFCHAR)] ISVGPoint* getStartPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETENDPOSITIONOFCHAR)] ISVGPoint* getEndPositionOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETEXTENTOFCHAR)] ISVGRect* getExtentOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETROTATIONOFCHAR)] float getRotationOfChar([in] long charnum);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_GETCHARNUMATPOSITION)] long getCharNumAtPosition([in] ISVGPoint* point);
    [id(DISPID_ISVGTEXTCONTENTELEMENT_SELECTSUBSTRING)] void selectSubString([in] long charnum,[in] long nchars);
    [propget, id(DISPID_ISVGURIREFERENCE_HREF)] ISVGAnimatedString* href();
    [propput, id(DISPID_ISVGELEMENT_XMLBASE)] void xmlbase(BSTR v);
    [propget, id(DISPID_ISVGELEMENT_XMLBASE)] BSTR xmlbase();
    [propputref, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] void ownerSVGElement(ISVGSVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_OWNERSVGELEMENT)] ISVGSVGElement* ownerSVGElement();
    [propputref, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] void viewportElement(ISVGElement* v);
    [propget, id(DISPID_ISVGELEMENT_VIEWPORTELEMENT)] ISVGElement* viewportElement();
    [propputref, id(DISPID_ISVGELEMENT_FOCUSABLE)] void focusable(ISVGAnimatedEnumeration* v);
    [propget, id(DISPID_ISVGELEMENT_FOCUSABLE)] ISVGAnimatedEnumeration* focusable();
    [propget, id(DISPID_ISVGTESTS_REQUIREDFEATURES)] ISVGStringList* requiredFeatures();
    [propget, id(DISPID_ISVGTESTS_REQUIREDEXTENSIONS)] ISVGStringList* requiredExtensions();
    [propget, id(DISPID_ISVGTESTS_SYSTEMLANGUAGE)] ISVGStringList* systemLanguage();
    [id(DISPID_ISVGTESTS_HASEXTENSION)] VARIANT_BOOL hasExtension([in] BSTR extension);
    [propput, id(DISPID_ISVGLANGSPACE_XMLLANG)] void xmllang(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLLANG)] BSTR xmllang();
    [propput, id(DISPID_ISVGLANGSPACE_XMLSPACE)] void xmlspace(BSTR v);
    [propget, id(DISPID_ISVGLANGSPACE_XMLSPACE)] BSTR xmlspace();
    [propget, id(DISPID_ISVGEXTERNALRESOURCESREQUIRED_EXTERNALRESOURCESREQUIRED)] ISVGAnimatedBoolean* externalResourcesRequired();
    [propget, id(DISPID_ISVGSTYLABLE_CLASSNAME)] ISVGAnimatedString* className();
};
[
    noncreatable,
    uuid(305105eb-98b5-11cf-bb82-00aa00bdce0b)
]
coclass SVGTextPathElement
{
    [default]           dispinterface DispSVGTextPathElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface ISVGTextPathElement;
                        interface ISVGTextContentElement;
                        interface ISVGURIReference;
                        interface ISVGElement;
                        interface ISVGTests;
                        interface ISVGLangSpace;
                        interface ISVGExternalResourcesRequired;
                        interface ISVGStylable;
};
cpp_quote("EXTERN_C const GUID CLSID_CSVGTextPathElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051077d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMXmlSerializer : IDispatch
{
    [id(DISPID_IDOMXMLSERIALIZER_SERIALIZETOSTRING)] HRESULT serializeToString([in] IHTMLDOMNode* pNode,[retval, out] BSTR* pString);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510781-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMParser : IDispatch
{
    [id(DISPID_IDOMPARSER_PARSEFROMSTRING)] HRESULT parseFromString([in] BSTR xmlSource,[in] BSTR mimeType,[retval, out] IHTMLDocument2** ppNode);
};
[
    hidden,
    uuid(305900ad-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispXMLSerializer
{
properties:
methods:
    [id(DISPID_IDOMXMLSERIALIZER_SERIALIZETOSTRING)] BSTR serializeToString([in] IHTMLDOMNode* pNode);
};
[
    noncreatable,
    uuid(3051077e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass XMLSerializer
{
    [default]           dispinterface DispXMLSerializer;
                        interface IDOMXmlSerializer;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMXmlSerializer;")
[
    hidden,
    uuid(305900ae-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMParser
{
properties:
methods:
    [id(DISPID_IDOMPARSER_PARSEFROMSTRING)] IHTMLDocument2* parseFromString([in] BSTR xmlSource,[in] BSTR mimeType);
};
[
    noncreatable,
    uuid(30510782-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMParser
{
    [default]           dispinterface DispDOMParser;
                        interface IDOMParser;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMParser;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051077f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMXmlSerializerFactory : IDispatch
{
    [id(DISPID_IDOMXMLSERIALIZERFACTORY_CREATE)] HRESULT create([retval, out] IDOMXmlSerializer** );
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510783-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMParserFactory : IDispatch
{
    [id(DISPID_IDOMPARSERFACTORY_CREATE)] HRESULT create([retval, out] IDOMParser** );
};
[
    noncreatable,
    uuid(30510780-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDOMXmlSerializerFactory
{
    [default]           interface IDOMXmlSerializerFactory;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMXmlSerializerFactory;")
[
    noncreatable,
    uuid(30510784-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMParserFactory
{
    [default]           interface IDOMParserFactory;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMParserFactory;")
[
    hidden,
    uuid(305900ba-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLSemanticElement
{
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();
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
};
[
    noncreatable,
    uuid(305107b0-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLSemanticElement
{
    [default]           dispinterface DispHTMLSemanticElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
};
cpp_quote("EXTERN_C const GUID CLSID_CSemanticElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2d6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLProgressElement : IDispatch
{
    [propput, id(DISPID_IHTMLPROGRESSELEMENT_VALUE)] HRESULT value([in] float v);
    [propget, id(DISPID_IHTMLPROGRESSELEMENT_VALUE)] HRESULT value([retval, out] float * p);
    [propput, id(DISPID_IHTMLPROGRESSELEMENT_MAX)] HRESULT max([in] float v);
    [propget, id(DISPID_IHTMLPROGRESSELEMENT_MAX)] HRESULT max([retval, out] float * p);
    [propget, id(DISPID_IHTMLPROGRESSELEMENT_POSITION)] HRESULT position([retval, out] float * p);
    [propget, id(DISPID_IHTMLPROGRESSELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
};
[
    hidden,
    uuid(305900af-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLProgressElement
{
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_IHTMLDOMNODE3_PREFIX)] void prefix(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_PREFIX)] VARIANT prefix();
    [propget, id(DISPID_IHTMLDOMNODE3_LOCALNAME)] VARIANT localName();
    [propget, id(DISPID_IHTMLDOMNODE3_NAMESPACEURI)] VARIANT namespaceURI();
    [propput, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] void textContent(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE3_TEXTCONTENT)] VARIANT textContent();
    [id(DISPID_IHTMLDOMNODE3_ISEQUALNODE)] VARIANT_BOOL isEqualNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPNAMESPACEURI)] VARIANT lookupNamespaceURI([in] VARIANT* pvarPrefix);
    [id(DISPID_IHTMLDOMNODE3_LOOKUPPREFIX)] VARIANT lookupPrefix([in] VARIANT* pvarNamespaceURI);
    [id(DISPID_IHTMLDOMNODE3_ISDEFAULTNAMESPACE)] VARIANT_BOOL isDefaultNamespace([in] VARIANT* pvarNamespace);
    [id(DISPID_IHTMLDOMNODE3_IE9_APPENDCHILD)] IHTMLDOMNode* ie9_appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_INSERTBEFORE)] IHTMLDOMNode* ie9_insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REMOVECHILD)] IHTMLDOMNode* ie9_removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_IE9_REPLACECHILD)] IHTMLDOMNode* ie9_replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE3_ISSAMENODE)] VARIANT_BOOL isSameNode([in] IHTMLDOMNode3* otherNode);
    [id(DISPID_IHTMLDOMNODE3_COMPAREDOCUMENTPOSITION)] USHORT compareDocumentPosition([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE3_ISSUPPORTED)] VARIANT_BOOL isSupported([in] BSTR feature,[in] VARIANT version);
    [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_IHTMLELEMENT6_GETATTRIBUTENS)] VARIANT getAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENS)] void setAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_REMOVEATTRIBUTENS)] void removeAttributeNS([in] VARIANT* pvarNS,[in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_GETATTRIBUTENODENS)] IHTMLDOMAttribute2* getAttributeNodeNS([in] VARIANT* pvarNS,[in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT6_SETATTRIBUTENODENS)] IHTMLDOMAttribute2* setAttributeNodeNS([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_HASATTRIBUTENS)] VARIANT_BOOL hasAttributeNS([in] VARIANT* pvarNS,[in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTE)] VARIANT ie9_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTE)] void ie9_setAttribute([in] BSTR strAttributeName,[in] VARIANT* pvarAttributeValue);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTE)] void ie9_removeAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_getAttributeNode([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT6_IE9_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie9_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTE)] VARIANT_BOOL ie9_hasAttribute([in] BSTR name);
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYTAGNAMENS)] IHTMLElementCollection* getElementsByTagNameNS([in] VARIANT* varNS,[in] BSTR bstrLocalName);
    [propget, id(DISPID_IHTMLELEMENT6_IE9_TAGNAME)] BSTR ie9_tagName();
    [propget, id(DISPID_IHTMLELEMENT6_IE9_NODENAME)] BSTR ie9_nodeName();
    [id(DISPID_IHTMLELEMENT6_GETELEMENTSBYCLASSNAME)] IHTMLElementCollection* getElementsByClassName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT6_MSMATCHESSELECTOR)] VARIANT_BOOL msMatchesSelector([in] BSTR v);
    [propput, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] void oncanplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAY), displaybind, bindable, hidden] VARIANT oncanplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] void oncanplaythrough(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCANPLAYTHROUGH), displaybind, bindable, hidden] VARIANT oncanplaythrough();
    [propput, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] void ondurationchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONDURATIONCHANGE), displaybind, bindable, hidden] VARIANT ondurationchange();
    [propput, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] void onemptied(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONEMPTIED), displaybind, bindable, hidden] VARIANT onemptied();
    [propput, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] void onended(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONENDED), displaybind, bindable, hidden] VARIANT onended();
    [propput, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] void oninput(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONINPUT), displaybind, bindable, hidden] VARIANT oninput();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] void onloadeddata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDDATA), displaybind, bindable, hidden] VARIANT onloadeddata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] void onloadedmetadata(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADEDMETADATA), displaybind, bindable, hidden] VARIANT onloadedmetadata();
    [propput, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] void onloadstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONLOADSTART), displaybind, bindable, hidden] VARIANT onloadstart();
    [propput, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] void onpause(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPAUSE), displaybind, bindable, hidden] VARIANT onpause();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] void onplay(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAY), displaybind, bindable, hidden] VARIANT onplay();
    [propput, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] void onplaying(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPLAYING), displaybind, bindable, hidden] VARIANT onplaying();
    [propput, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONPROGRESS), displaybind, bindable, hidden] VARIANT onprogress();
    [propput, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] void onratechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRATECHANGE), displaybind, bindable, hidden] VARIANT onratechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONRESET), displaybind, bindable] VARIANT onreset();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] void onseeked(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKED), displaybind, bindable, hidden] VARIANT onseeked();
    [propput, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] void onseeking(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSEEKING), displaybind, bindable, hidden] VARIANT onseeking();
    [propput, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] void onstalled(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSTALLED), displaybind, bindable, hidden] VARIANT onstalled();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] void onsuspend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONSUSPEND), displaybind, bindable, hidden] VARIANT onsuspend();
    [propput, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] void ontimeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONTIMEUPDATE), displaybind, bindable, hidden] VARIANT ontimeupdate();
    [propput, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] void onvolumechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONVOLUMECHANGE), displaybind, bindable, hidden] VARIANT onvolumechange();
    [propput, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] void onwaiting(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT6_ONWAITING), displaybind, bindable, hidden] VARIANT onwaiting();
    [id(DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES)] VARIANT_BOOL ie9_hasAttributes();
    [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_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] void onmspointerdown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERDOWN), displaybind, bindable, hidden] VARIANT onmspointerdown();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] void onmspointermove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERMOVE), displaybind, bindable, hidden] VARIANT onmspointermove();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] void onmspointerup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERUP), displaybind, bindable, hidden] VARIANT onmspointerup();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] void onmspointerover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROVER), displaybind, bindable, hidden] VARIANT onmspointerover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] void onmspointerout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTEROUT), displaybind, bindable, hidden] VARIANT onmspointerout();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] void onmspointercancel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERCANCEL), displaybind, bindable, hidden] VARIANT onmspointercancel();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] void onmspointerhover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSPOINTERHOVER), displaybind, bindable, hidden] VARIANT onmspointerhover();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] void onmslostpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSLOSTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmslostpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] void onmsgotpointercapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGOTPOINTERCAPTURE), displaybind, bindable, hidden] VARIANT onmsgotpointercapture();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] void onmsgesturestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURESTART), displaybind, bindable, hidden] VARIANT onmsgesturestart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] void onmsgesturechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURECHANGE), displaybind, bindable, hidden] VARIANT onmsgesturechange();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] void onmsgestureend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREEND), displaybind, bindable, hidden] VARIANT onmsgestureend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] void onmsgesturehold(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREHOLD), displaybind, bindable, hidden] VARIANT onmsgesturehold();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] void onmsgesturetap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTURETAP), displaybind, bindable, hidden] VARIANT onmsgesturetap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] void onmsgesturedoubletap(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSGESTUREDOUBLETAP), displaybind, bindable, hidden] VARIANT onmsgesturedoubletap();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] void onmsinertiastart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSINERTIASTART), displaybind, bindable, hidden] VARIANT onmsinertiastart();
    [id(DISPID_IHTMLELEMENT7_MSSETPOINTERCAPTURE)] void msSetPointerCapture([in] long pointerId);
    [id(DISPID_IHTMLELEMENT7_MSRELEASEPOINTERCAPTURE)] void msReleasePointerCapture([in] long pointerId);
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] void onmstransitionstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONSTART), displaybind, bindable, hidden] VARIANT onmstransitionstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] void onmstransitionend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSTRANSITIONEND), displaybind, bindable, hidden] VARIANT onmstransitionend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] void onmsanimationstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONSTART), displaybind, bindable, hidden] VARIANT onmsanimationstart();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] void onmsanimationend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONEND), displaybind, bindable, hidden] VARIANT onmsanimationend();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] void onmsanimationiteration(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSANIMATIONITERATION), displaybind, bindable, hidden] VARIANT onmsanimationiteration();
    [propput, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] void oninvalid(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONINVALID), displaybind, bindable, hidden] VARIANT oninvalid();
    [propput, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] void xmsAcceleratorKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT7_XMSACCELERATORKEY), displaybind, bindable] BSTR xmsAcceleratorKey();
    [propput, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] void spellcheck(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_SPELLCHECK)] VARIANT spellcheck();
    [propput, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] void onmsmanipulationstatechanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONMSMANIPULATIONSTATECHANGED), displaybind, bindable, hidden] VARIANT onmsmanipulationstatechanged();
    [propput, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] void oncuechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT7_ONCUECHANGE), displaybind, bindable, hidden] VARIANT oncuechange();
    [propput, id(DISPID_IHTMLPROGRESSELEMENT_VALUE)] void value(float v);
    [propget, id(DISPID_IHTMLPROGRESSELEMENT_VALUE)] float value();
    [propput, id(DISPID_IHTMLPROGRESSELEMENT_MAX)] void max(float v);
    [propget, id(DISPID_IHTMLPROGRESSELEMENT_MAX)] float max();
    [propget, id(DISPID_IHTMLPROGRESSELEMENT_POSITION)] float position();
    [propget, id(DISPID_IHTMLPROGRESSELEMENT_FORM)] IHTMLFormElement* form();
};
[
    noncreatable,
    uuid(3050f2d5-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLProgressElement
{
    [default]           dispinterface DispHTMLProgressElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMNode3;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IHTMLElement6;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLElement7;
                        interface IHTMLProgressElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CProgressElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(305107b5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMMSTransitionEvent : IDispatch
{
    [propget, id(DISPID_IDOMMSTRANSITIONEVENT_PROPERTYNAME)] HRESULT propertyName([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMMSTRANSITIONEVENT_ELAPSEDTIME)] HRESULT elapsedTime([retval, out] float * p);
    [id(DISPID_IDOMMSTRANSITIONEVENT_INITMSTRANSITIONEVENT)] HRESULT initMSTransitionEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] BSTR propertyName,[in] float elapsedTime);
};
[
    hidden,
    uuid(305900bb-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMMSTransitionEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMMSTRANSITIONEVENT_PROPERTYNAME)] BSTR propertyName();
    [propget, id(DISPID_IDOMMSTRANSITIONEVENT_ELAPSEDTIME)] float elapsedTime();
    [id(DISPID_IDOMMSTRANSITIONEVENT_INITMSTRANSITIONEVENT)] void initMSTransitionEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] BSTR propertyName,[in] float elapsedTime);
};
[
    noncreatable,
    uuid(305107b6-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMMSTransitionEvent
{
    [default]           dispinterface DispDOMMSTransitionEvent;
                        interface IDOMEvent;
                        interface IDOMMSTransitionEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMMSTransitionEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305107b7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMMSAnimationEvent : IDispatch
{
    [propget, id(DISPID_IDOMMSANIMATIONEVENT_ANIMATIONNAME)] HRESULT animationName([retval, out] BSTR * p);
    [propget, id(DISPID_IDOMMSANIMATIONEVENT_ELAPSEDTIME)] HRESULT elapsedTime([retval, out] float * p);
    [id(DISPID_IDOMMSANIMATIONEVENT_INITMSANIMATIONEVENT)] HRESULT initMSAnimationEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] BSTR animationName,[in] float elapsedTime);
};
[
    hidden,
    uuid(305900bc-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMMSAnimationEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMMSANIMATIONEVENT_ANIMATIONNAME)] BSTR animationName();
    [propget, id(DISPID_IDOMMSANIMATIONEVENT_ELAPSEDTIME)] float elapsedTime();
    [id(DISPID_IDOMMSANIMATIONEVENT_INITMSANIMATIONEVENT)] void initMSAnimationEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] BSTR animationName,[in] float elapsedTime);
};
[
    noncreatable,
    uuid(305107b8-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMMSAnimationEvent
{
    [default]           dispinterface DispDOMMSAnimationEvent;
                        interface IDOMEvent;
                        interface IDOMMSAnimationEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMMSAnimationEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305107c5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IWebGeolocation : IDispatch
{
    [id(DISPID_IWEBGEOLOCATION_GETCURRENTPOSITION)] HRESULT getCurrentPosition([in] IDispatch* successCallback,[defaultvalue(0), in] IDispatch* errorCallback,[defaultvalue(0), in] IDispatch* options);
    [id(DISPID_IWEBGEOLOCATION_WATCHPOSITION)] HRESULT watchPosition([in] IDispatch* successCallback,[defaultvalue(0), in] IDispatch* errorCallback,[defaultvalue(0), in] IDispatch* options,[retval, out] long* watchId);
    [id(DISPID_IWEBGEOLOCATION_CLEARWATCH)] HRESULT clearWatch([in] long watchId);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305107c7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IWebGeocoordinates : IDispatch
{
    [propget, id(DISPID_IWEBGEOCOORDINATES_LATITUDE)] HRESULT latitude([retval, out] double * p);
    [propget, id(DISPID_IWEBGEOCOORDINATES_LONGITUDE)] HRESULT longitude([retval, out] double * p);
    [propget, id(DISPID_IWEBGEOCOORDINATES_ALTITUDE)] HRESULT altitude([retval, out] VARIANT * p);
    [propget, id(DISPID_IWEBGEOCOORDINATES_ACCURACY)] HRESULT accuracy([retval, out] double * p);
    [propget, id(DISPID_IWEBGEOCOORDINATES_ALTITUDEACCURACY)] HRESULT altitudeAccuracy([retval, out] VARIANT * p);
    [propget, id(DISPID_IWEBGEOCOORDINATES_HEADING)] HRESULT heading([retval, out] VARIANT * p);
    [propget, id(DISPID_IWEBGEOCOORDINATES_SPEED)] HRESULT speed([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305107c9-98b5-11cf-bb82-00aa00bdce0b)
]
interface IWebGeopositionError : IDispatch
{
    [propget, id(DISPID_IWEBGEOPOSITIONERROR_CODE)] HRESULT code([retval, out] long * p);
    [propget, id(DISPID_IWEBGEOPOSITIONERROR_MESSAGE)] HRESULT message([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305107cd-98b5-11cf-bb82-00aa00bdce0b)
]
interface IWebGeoposition : IDispatch
{
    [propget, id(DISPID_IWEBGEOPOSITION_COORDS)] HRESULT coords([retval, out] IWebGeocoordinates* * p);
    [propget, id(DISPID_IWEBGEOPOSITION_TIMESTAMP)] HRESULT timestamp([retval, out] ULONGLONG * p);
};
[
    hidden,
    uuid(305900bd-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispWebGeolocation
{
properties:
methods:
    [id(DISPID_IWEBGEOLOCATION_GETCURRENTPOSITION)] void getCurrentPosition([in] IDispatch* successCallback,[defaultvalue(0), in] IDispatch* errorCallback,[defaultvalue(0), in] IDispatch* options);
    [id(DISPID_IWEBGEOLOCATION_WATCHPOSITION)] long watchPosition([in] IDispatch* successCallback,[defaultvalue(0), in] IDispatch* errorCallback,[defaultvalue(0), in] IDispatch* options);
    [id(DISPID_IWEBGEOLOCATION_CLEARWATCH)] void clearWatch([in] long watchId);
};
[
    noncreatable,
    uuid(305107c6-98b5-11cf-bb82-00aa00bdce0b)
]
coclass WebGeolocation
{
    [default]           dispinterface DispWebGeolocation;
                        interface IWebGeolocation;
};
cpp_quote("EXTERN_C const GUID CLSID_CWebGeolocation;")
[
    hidden,
    uuid(305900be-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispWebGeocoordinates
{
properties:
methods:
    [propget, id(DISPID_IWEBGEOCOORDINATES_LATITUDE)] double latitude();
    [propget, id(DISPID_IWEBGEOCOORDINATES_LONGITUDE)] double longitude();
    [propget, id(DISPID_IWEBGEOCOORDINATES_ALTITUDE)] VARIANT altitude();
    [propget, id(DISPID_IWEBGEOCOORDINATES_ACCURACY)] double accuracy();
    [propget, id(DISPID_IWEBGEOCOORDINATES_ALTITUDEACCURACY)] VARIANT altitudeAccuracy();
    [propget, id(DISPID_IWEBGEOCOORDINATES_HEADING)] VARIANT heading();
    [propget, id(DISPID_IWEBGEOCOORDINATES_SPEED)] VARIANT speed();
};
[
    noncreatable,
    uuid(305107c8-98b5-11cf-bb82-00aa00bdce0b)
]
coclass WebGeocoordinates
{
    [default]           dispinterface DispWebGeocoordinates;
                        interface IWebGeocoordinates;
};
cpp_quote("EXTERN_C const GUID CLSID_CWebGeocoordinates;")
[
    hidden,
    uuid(305900bf-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispWebGeopositionError
{
properties:
methods:
    [propget, id(DISPID_IWEBGEOPOSITIONERROR_CODE)] long code();
    [propget, id(DISPID_IWEBGEOPOSITIONERROR_MESSAGE)] BSTR message();
};
[
    noncreatable,
    uuid(305107ca-98b5-11cf-bb82-00aa00bdce0b)
]
coclass WebGeopositionError
{
    [default]           dispinterface DispWebGeopositionError;
                        interface IWebGeopositionError;
};
cpp_quote("EXTERN_C const GUID CLSID_CWebGeopositionError;")
[
    hidden,
    uuid(305900c1-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispWebGeoposition
{
properties:
methods:
    [propget, id(DISPID_IWEBGEOPOSITION_COORDS)] IWebGeocoordinates* coords();
    [propget, id(DISPID_IWEBGEOPOSITION_TIMESTAMP)] ULONGLONG timestamp();
};
[
    noncreatable,
    uuid(305107ce-98b5-11cf-bb82-00aa00bdce0b)
]
coclass WebGeoposition
{
    [default]           dispinterface DispWebGeoposition;
                        interface IWebGeoposition;
};
cpp_quote("EXTERN_C const GUID CLSID_CWebGeoposition;")
[
    odl,
    oleautomation,
    dual,
    uuid(7E8BC44D-AEFF-11D1-89C2-00C04FB6BFC4)
]
interface IClientCaps : IDispatch
{
    [propget, id(DISPID_ICLIENTCAPS_JAVAENABLED)] HRESULT javaEnabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_ICLIENTCAPS_COOKIEENABLED)] HRESULT cookieEnabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_ICLIENTCAPS_CPUCLASS)] HRESULT cpuClass([retval, out] BSTR * p);
    [propget, id(DISPID_ICLIENTCAPS_SYSTEMLANGUAGE)] HRESULT systemLanguage([retval, out] BSTR * p);
    [propget, id(DISPID_ICLIENTCAPS_USERLANGUAGE)] HRESULT userLanguage([retval, out] BSTR * p);
    [propget, id(DISPID_ICLIENTCAPS_PLATFORM)] HRESULT platform([retval, out] BSTR * p);
    [propget, id(DISPID_ICLIENTCAPS_CONNECTIONSPEED)] HRESULT connectionSpeed([retval, out] long * p);
    [propget, id(DISPID_ICLIENTCAPS_ONLINE)] HRESULT onLine([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_ICLIENTCAPS_COLORDEPTH)] HRESULT colorDepth([retval, out] long * p);
    [propget, id(DISPID_ICLIENTCAPS_BUFFERDEPTH)] HRESULT bufferDepth([retval, out] long * p);
    [propget, id(DISPID_ICLIENTCAPS_WIDTH)] HRESULT width([retval, out] long * p);
    [propget, id(DISPID_ICLIENTCAPS_HEIGHT)] HRESULT height([retval, out] long * p);
    [propget, id(DISPID_ICLIENTCAPS_AVAILHEIGHT)] HRESULT availHeight([retval, out] long * p);
    [propget, id(DISPID_ICLIENTCAPS_AVAILWIDTH)] HRESULT availWidth([retval, out] long * p);
    [propget, id(DISPID_ICLIENTCAPS_CONNECTIONTYPE)] HRESULT connectionType([retval, out] BSTR * p);
    [id(DISPID_ICLIENTCAPS_ISCOMPONENTINSTALLED)] HRESULT isComponentInstalled([in] BSTR bstrName,[in] BSTR bstrUrl,[defaultvalue(""), in] BSTR bStrVer,[retval, out] VARIANT_BOOL* p);
    [id(DISPID_ICLIENTCAPS_GETCOMPONENTVERSION)] HRESULT getComponentVersion([in] BSTR bstrName,[in] BSTR bstrUrl,[retval, out] BSTR* pbstrVer);
    [id(DISPID_ICLIENTCAPS_COMPAREVERSIONS)] HRESULT compareVersions([in] BSTR bstrVer1,[in] BSTR bstrVer2,[retval, out] long* p);
    [id(DISPID_ICLIENTCAPS_ADDCOMPONENTREQUEST)] HRESULT addComponentRequest([in] BSTR bstrName,[in] BSTR bstrUrl,[defaultvalue(""), in] BSTR bStrVer);
    [id(DISPID_ICLIENTCAPS_DOCOMPONENTREQUEST)] HRESULT doComponentRequest([retval, out] VARIANT_BOOL* p);
    [id(DISPID_ICLIENTCAPS_CLEARCOMPONENTREQUEST)] HRESULT clearComponentRequest();
};
[
    uuid(7E8BC44E-AEFF-11D1-89C2-00C04FB6BFC4)
]
coclass CClientCaps
{
    [default]           interface IClientCaps;
};
cpp_quote("EXTERN_C const GUID CLSID_CClientCaps;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510816-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMMSManipulationEvent : IDispatch
{
    [propget, id(DISPID_IDOMMSMANIPULATIONEVENT_LASTSTATE)] HRESULT lastState([retval, out] long * p);
    [propget, id(DISPID_IDOMMSMANIPULATIONEVENT_CURRENTSTATE)] HRESULT currentState([retval, out] long * p);
    [id(DISPID_IDOMMSMANIPULATIONEVENT_INITMSMANIPULATIONEVENT)] HRESULT initMSManipulationEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long lastState,[in] long currentState);
};
[
    hidden,
    uuid(305900e1-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMMSManipulationEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMUIEVENT_VIEW)] IHTMLWindow2* view();
    [propget, id(DISPID_IDOMUIEVENT_DETAIL)] long detail();
    [id(DISPID_IDOMUIEVENT_INITUIEVENT)] void initUIEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* view,[in] long detail);
    [propget, id(DISPID_IDOMMSMANIPULATIONEVENT_LASTSTATE)] long lastState();
    [propget, id(DISPID_IDOMMSMANIPULATIONEVENT_CURRENTSTATE)] long currentState();
    [id(DISPID_IDOMMSMANIPULATIONEVENT_INITMSMANIPULATIONEVENT)] void initMSManipulationEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] IHTMLWindow2* viewArg,[in] long detailArg,[in] long lastState,[in] long currentState);
};
[
    noncreatable,
    uuid(30510817-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMMSManipulationEvent
{
    [default]           dispinterface DispDOMMSManipulationEvent;
                        interface IDOMEvent;
                        interface IDOMUIEvent;
                        interface IDOMMSManipulationEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMMSManipulationEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(305107ff-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMCloseEvent : IDispatch
{
    [propget, id(DISPID_IDOMCLOSEEVENT_WASCLEAN)] HRESULT wasClean([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IDOMCLOSEEVENT_INITCLOSEEVENT)] HRESULT initCloseEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] VARIANT_BOOL wasClean,[in] long code,[in] BSTR reason);
};
[
    hidden,
    uuid(305900dc-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMCloseEvent
{
properties:
methods:
    [propget, id(DISPID_IDOMEVENT_BUBBLES)] VARIANT_BOOL bubbles();
    [propget, id(DISPID_IDOMEVENT_CANCELABLE)] VARIANT_BOOL cancelable();
    [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)] IEventTarget* currentTarget();
    [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)] VARIANT_BOOL defaultPrevented();
    [propget, id(DISPID_IDOMEVENT_EVENTPHASE)] USHORT eventPhase();
    [propget, id(DISPID_IDOMEVENT_TARGET)] IEventTarget* target();
    [propget, id(DISPID_IDOMEVENT_TIMESTAMP)] ULONGLONG timeStamp();
    [propget, id(DISPID_IDOMEVENT_TYPE)] BSTR type();
    [id(DISPID_IDOMEVENT_INITEVENT)] void initEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable);
    [id(DISPID_IDOMEVENT_PREVENTDEFAULT)] void preventDefault();
    [id(DISPID_IDOMEVENT_STOPPROPAGATION)] void stopPropagation();
    [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)] void stopImmediatePropagation();
    [propget, id(DISPID_IDOMEVENT_ISTRUSTED)] VARIANT_BOOL isTrusted();
    [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propget, id(DISPID_IDOMEVENT_SRCELEMENT)] IHTMLElement* srcElement();
    [propget, id(DISPID_IDOMCLOSEEVENT_WASCLEAN)] VARIANT_BOOL wasClean();
    [id(DISPID_IDOMCLOSEEVENT_INITCLOSEEVENT)] void initCloseEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] VARIANT_BOOL wasClean,[in] long code,[in] BSTR reason);
};
[
    noncreatable,
    uuid(30510800-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMCloseEvent
{
    [default]           dispinterface DispDOMCloseEvent;
                        interface IDOMEvent;
                        interface IDOMCloseEvent;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMCloseEvent;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510828-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLApplicationCache : IDispatch
{
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_STATUS)] HRESULT status([retval, out] long * p);
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONCHECKING)] HRESULT onchecking([in] VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONCHECKING)] HRESULT onchecking([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONERROR)] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONERROR)] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONNOUPDATE)] HRESULT onnoupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONNOUPDATE)] HRESULT onnoupdate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONDOWNLOADING)] HRESULT ondownloading([in] VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONDOWNLOADING)] HRESULT ondownloading([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONPROGRESS)] HRESULT onprogress([in] VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONPROGRESS)] HRESULT onprogress([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONUPDATEREADY)] HRESULT onupdateready([in] VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONUPDATEREADY)] HRESULT onupdateready([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONCACHED)] HRESULT oncached([in] VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONCACHED)] HRESULT oncached([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONOBSOLETE)] HRESULT onobsolete([in] VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONOBSOLETE)] HRESULT onobsolete([retval, out] VARIANT * p);
    [id(DISPID_IHTMLAPPLICATIONCACHE_UPDATE)] HRESULT update();
    [id(DISPID_IHTMLAPPLICATIONCACHE_SWAPCACHE)] HRESULT swapCache();
    [id(DISPID_IHTMLAPPLICATIONCACHE_ABORT)] HRESULT abort();
};
[
    hidden,
    uuid(305900e4-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispApplicationCache
{
properties:
methods:
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_STATUS)] long status();
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONCHECKING)] void onchecking(VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONCHECKING)] VARIANT onchecking();
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONERROR)] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONERROR)] VARIANT onerror();
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONNOUPDATE)] void onnoupdate(VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONNOUPDATE)] VARIANT onnoupdate();
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONDOWNLOADING)] void ondownloading(VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONDOWNLOADING)] VARIANT ondownloading();
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONPROGRESS)] void onprogress(VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONPROGRESS)] VARIANT onprogress();
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONUPDATEREADY)] void onupdateready(VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONUPDATEREADY)] VARIANT onupdateready();
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONCACHED)] void oncached(VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONCACHED)] VARIANT oncached();
    [propput, id(DISPID_IHTMLAPPLICATIONCACHE_ONOBSOLETE)] void onobsolete(VARIANT v);
    [propget, id(DISPID_IHTMLAPPLICATIONCACHE_ONOBSOLETE)] VARIANT onobsolete();
    [id(DISPID_IHTMLAPPLICATIONCACHE_UPDATE)] void update();
    [id(DISPID_IHTMLAPPLICATIONCACHE_SWAPCACHE)] void swapCache();
    [id(DISPID_IHTMLAPPLICATIONCACHE_ABORT)] void abort();
};
[
    noncreatable,
    uuid(30510829-98b5-11cf-bb82-00aa00bdce0b)
]
coclass ApplicationCache
{
    [default]           interface IHTMLApplicationCache;
};
cpp_quote("EXTERN_C const GUID CLSID_CApplicationCache;")
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_MATCHREPEATEDWHITESPACE = 0x00040000,
    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_DISABLEVML =  0x00000002,
    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_SVG_A = 111,
    TAGID_SVG_ALTGLYPH = 112,
    TAGID_SVG_ALTGLYPHDEF = 113,
    TAGID_SVG_ALTGLYPHITEM = 114,
    TAGID_SVG_ANIMATE = 115,
    TAGID_SVG_ANIMATECOLOR = 116,
    TAGID_SVG_ANIMATEMOTION = 117,
    TAGID_SVG_ANIMATETRANSFORM = 118,
    TAGID_SVG_CIRCLE = 119,
    TAGID_SVG_CLIPPATH = 120,
    TAGID_SVG_COLOR_PROFILE = 121,
    TAGID_SVG_CURSOR = 122,
    TAGID_SVG_DEFINITION_SRC = 123,
    TAGID_SVG_DEFS = 124,
    TAGID_SVG_DESC = 125,
    TAGID_SVG_ELLIPSE = 126,
    TAGID_SVG_FEBLEND = 127,
    TAGID_SVG_FECOLORMATRIX = 128,
    TAGID_SVG_FECOMPONENTTRANSFER = 129,
    TAGID_SVG_FECOMPOSITE = 130,
    TAGID_SVG_FECONVOLVEMATRIX = 131,
    TAGID_SVG_FEDIFFUSELIGHTING = 132,
    TAGID_SVG_FEDISPLACEMENTMAP = 133,
    TAGID_SVG_FEDISTANTLIGHT = 134,
    TAGID_SVG_FEFLOOD = 135,
    TAGID_SVG_FEFUNCA = 136,
    TAGID_SVG_FEFUNCB = 137,
    TAGID_SVG_FEFUNCG = 138,
    TAGID_SVG_FEFUNCR = 139,
    TAGID_SVG_FEGAUSSIANBLUR = 140,
    TAGID_SVG_FEIMAGE = 141,
    TAGID_SVG_FEMERGE = 142,
    TAGID_SVG_FEMERGENODE = 143,
    TAGID_SVG_FEMORPHOLOGY = 144,
    TAGID_SVG_FEOFFSET = 145,
    TAGID_SVG_FEPOINTLIGHT = 146,
    TAGID_SVG_FESPECULARLIGHTING = 147,
    TAGID_SVG_FESPOTLIGHT = 148,
    TAGID_SVG_FETILE = 149,
    TAGID_SVG_FETURBULENCE = 150,
    TAGID_SVG_FILTER = 151,
    TAGID_SVG_FONT = 152,
    TAGID_SVG_FONT_FACE = 153,
    TAGID_SVG_FONT_FACE_FORMAT = 154,
    TAGID_SVG_FONT_FACE_NAME = 155,
    TAGID_SVG_FONT_FACE_SRC = 156,
    TAGID_SVG_FONT_FACE_URI = 157,
    TAGID_SVG_FOREIGNOBJECT = 158,
    TAGID_SVG_G = 159,
    TAGID_SVG_GLYPH = 160,
    TAGID_SVG_GLYPHREF = 161,
    TAGID_SVG_HKERN = 162,
    TAGID_SVG_IMAGE = 163,
    TAGID_SVG_LINE = 164,
    TAGID_SVG_LINEARGRADIENT = 165,
    TAGID_SVG_MARKER = 166,
    TAGID_SVG_MASK = 167,
    TAGID_SVG_METADATA = 168,
    TAGID_SVG_MISSING_GLYPH = 169,
    TAGID_SVG_MPATH = 170,
    TAGID_SVG_PATH = 171,
    TAGID_SVG_PATTERN = 172,
    TAGID_SVG_POLYGON = 173,
    TAGID_SVG_POLYLINE = 174,
    TAGID_SVG_RADIALGRADIENT = 175,
    TAGID_SVG_RECT = 176,
    TAGID_SVG_SCRIPT = 177,
    TAGID_SVG_SET = 178,
    TAGID_SVG_STOP = 179,
    TAGID_SVG_STYLE = 180,
    TAGID_SVG_SVG = 181,
    TAGID_SVG_SWITCH = 182,
    TAGID_SVG_SYMBOL = 183,
    TAGID_SVG_TEXT = 184,
    TAGID_SVG_TEXTPATH = 185,
    TAGID_SVG_TITLE = 186,
    TAGID_SVG_TREF = 187,
    TAGID_SVG_TSPAN = 188,
    TAGID_SVG_USE = 189,
    TAGID_SVG_VIEW = 190,
    TAGID_SVG_VKERN = 191,
    TAGID_AUDIO = 192,
    TAGID_SOURCE = 193,
    TAGID_VIDEO = 194,
    TAGID_CANVAS = 195,
    TAGID_DOCTYPE = 196,
    TAGID_KEYGEN = 197,
    TAGID_PROCESSINGINSTRUCTION = 198,
    TAGID_ARTICLE = 199,
    TAGID_ASIDE = 200,
    TAGID_FIGCAPTION = 201,
    TAGID_FIGURE = 202,
    TAGID_FOOTER = 203,
    TAGID_HEADER = 204,
    TAGID_HGROUP = 205,
    TAGID_MARK = 206,
    TAGID_NAV = 207,
    TAGID_SECTION = 208,
    TAGID_PROGRESS = 209,
    TAGID_MATHML_ANNOTATION_XML = 210,
    TAGID_MATHML_MATH = 211,
    TAGID_MATHML_MI = 212,
    TAGID_MATHML_MN = 213,
    TAGID_MATHML_MO = 214,
    TAGID_MATHML_MS = 215,
    TAGID_MATHML_MTEXT = 216,
    TAGID_DATALIST = 217,
    TAGID_TRACK = 218,
    TAGID_ISINDEX = 219,
    TAGID_COMMAND = 220,
    TAGID_DETAILS = 221,
    TAGID_SUMMARY = 222,
    TAGID_X_MS_WEBVIEW = 223,
    TAGID_COUNT = 224,
    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_CLIENT = 5,
    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;")

// Enum used when writing to the developer consoles from MSHTML
// Specifies to the web developer whether your message is purely informative
// or may indicate a problem with their page
typedef enum _DEV_CONSOLE_MESSAGE_LEVEL
{
    DCML_INFORMATIONAL             = 0x00000000, // Information that may be helpful to the
                                                 // web developer but is not a warning or an error
    DCML_WARNING                   = 0x00000001, // The browser encountered an issue with the page
                                                 // but was able to recover without loss of functionalty
                                                 // For example, use of deprecated functionality or
                                                 // perf. issues.
    DCML_ERROR                     = 0x00000002, // The browser encountered an issue with the page 
                                                 // that impacts page functionality
    DEV_CONSOLE_MESSAGE_LEVEL_Max = 2147483647L
} DEV_CONSOLE_MESSAGE_LEVEL;

// Implemented by the F12 developer tools and other consumers of developer 
// console messages registered via IOleCommandTarget using CGID_MSHTML's 
// IDM_ADDCONSOLEMESSAGERECIEVER (and unregistered via IDM_REMOVECONSOLEMESSAGERECEIVER)
[
    object,
    uuid(30510808-98b5-11cf-bb82-00aa00bdce0b),
    helpstring("IDeveloperConsoleMessageReceiver interface"),
    pointer_default(unique),
    local
]
interface IDeveloperConsoleMessageReceiver : IUnknown {
    HRESULT Write(
        [in, annotation("_In_")] LPCWSTR source,
        [in, annotation("_In_")] DEV_CONSOLE_MESSAGE_LEVEL level,
        [in, annotation("_In_")] int messageId,
        [in, annotation("_In_")] LPCWSTR messageText
        );
    HRESULT WriteWithUrl(
        [in, annotation("_In_")] LPCWSTR source,
        [in, annotation("_In_")] DEV_CONSOLE_MESSAGE_LEVEL level,
        [in, annotation("_In_")] int messageId,
        [in, annotation("_In_")] LPCWSTR messageText,
        [in, annotation("_In_")] LPCWSTR fileUrl
        );
    HRESULT WriteWithUrlAndLine(
        [in, annotation("_In_")] LPCWSTR source,
        [in, annotation("_In_")] DEV_CONSOLE_MESSAGE_LEVEL level,
        [in, annotation("_In_")] int messageId,
        [in, annotation("_In_")] LPCWSTR messageText,
        [in, annotation("_In_")] LPCWSTR fileUrl,
        [in, annotation("_In_")] ULONG line
        );
    HRESULT WriteWithUrlLineAndColumn(
        [in, annotation("_In_")] LPCWSTR source,
        [in, annotation("_In_")] DEV_CONSOLE_MESSAGE_LEVEL level,
        [in, annotation("_In_")] int messageId,
        [in, annotation("_In_")] LPCWSTR messageText,
        [in, annotation("_In_")] LPCWSTR fileUrl,
        [in, annotation("_In_")] ULONG line,
        [in, annotation("_In_")] ULONG column
        );

}; 

interface IScriptEventHandler;

// Specifies the event processing stage to debug callback notification handlers.
// Enum values map to the values of the event definition in the dom level 2 spec.
// See the DOM Level 3 Events specification for info on each phase:
// http://www.w3.org/TR/DOM-Level-3-Events/#event-flow
typedef enum _DOM_EVENT_PHASE
{
    DEP_CAPTURING_PHASE          = 0x00000001, 
    DEP_AT_TARGET                = 0x00000002, 
    DEP_BUBBLING_PHASE           = 0x00000003, 
    DOM_EVENT_PHASE_Max = 2147483647L
} DOM_EVENT_PHASE;

typedef enum _SCRIPT_TIMER_TYPE
{
    STT_TIMEOUT                  = 0x00000000,
    STT_INTERVAL                 = 0x00000001,
    STT_IMMEDIATE                = 0x00000002,
    STT_ANIMATION_FRAME          = 0x00000003,
    SCRIPT_TIMER_TYPE_Max = 2147483647L
} SCRIPT_TIMER_TYPE;

// Implemented by developer tools and registered via IOleCommandTarget using CGID_MSHTML's 
// IDM_ADDDEBUGCALLBACKRECIEVER (and unregistered via IDM_REMOVEDEBUGCALLBACKRECEIVER)
[
    object,
    uuid(30510842-98b5-11cf-bb82-00aa00bdce0b),
    helpstring("IDebugCallbackNotificationHandler interface"),
    pointer_default(unique),
    local
]
interface IDebugCallbackNotificationHandler : IUnknown {
    HRESULT RequestedCallbackTypes(
        [out, annotation("_Out_")] DWORD* pCallbackMask
        );
    HRESULT BeforeDispatchEvent(
        [in, annotation("_In_")] IUnknown* pEvent
        );
    HRESULT DispatchEventComplete(
        [in, annotation("_In_")] IUnknown* pEvent, 
        [in] DWORD propagationStatus
        );
    HRESULT BeforeInvokeDomCallback(
        [in, annotation("_In_")] IUnknown* pEvent,
        [in, annotation("_In_")] IScriptEventHandler* pCallback,
        [in] DOM_EVENT_PHASE eStage, 
        [in] DWORD propagationStatus
        );
    HRESULT InvokeDomCallbackComplete(
        [in, annotation("_In_")] IUnknown* pEvent,
        [in, annotation("_In_")] IScriptEventHandler* pCallback, 
        [in] DOM_EVENT_PHASE eStage, 
        [in] DWORD propagationStatus
        );
    HRESULT BeforeInvokeCallback(
        [in] SCRIPT_TIMER_TYPE eCallbackType,
        [in] DWORD callbackCookie,
        [in, annotation("_In_")] IDispatch* pDispHandler,
        [in, annotation("_In_")] ULONGLONG ullHandlerCookie,
        [in, annotation("_In_opt_")] BSTR functionName,
        [in, annotation("_In_")] UINT32 line,
        [in, annotation("_In_")] UINT32 column,
        [in, annotation("_In_")] UINT32 cchLength,
        [in, annotation("_In_opt_")] IUnknown* pDebugDocumentContext
        );
    HRESULT InvokeCallbackComplete(
        [in] SCRIPT_TIMER_TYPE eCallbackType,
        [in] DWORD callbackCookie,
        [in, annotation("_In_")] IDispatch* pDispHandler,
        [in, annotation("_In_")] ULONGLONG ullHandlerCookie,
        [in, annotation("_In_opt_")] BSTR functionName,
        [in, annotation("_In_")] UINT32 line,
        [in, annotation("_In_")] UINT32 column,
        [in, annotation("_In_")] UINT32 cchLength,
        [in, annotation("_In_opt_")] IUnknown* pDebugDocumentContext
        );
};

[
    object,
    pointer_default(unique),
    uuid(3051083a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IScriptEventHandler : IUnknown
{
    HRESULT FunctionName([retval, out] BSTR* pbstrFunctionName);
    HRESULT DebugDocumentContext([retval, out] IUnknown** ppDebugDocumentContext);
    HRESULT EventHandlerDispatch([retval, out] IDispatch** ppDispHandler);
    HRESULT UsesCapture([retval, out] BOOL* pfUsesCapture);
    HRESULT Cookie([retval, out] ULONGLONG* pullCookie);
};

[
    object,
    pointer_default(unique),
    uuid(30510841-98b5-11cf-bb82-00aa00bdce0b)
]
interface IScriptEventHandlerSourceInfo : IUnknown
{
    HRESULT GetSourceInfo([out] BSTR* pbstrFunctionName, [out] UINT32* line, [out] UINT32* column, [out] UINT32* cchLength);
};

[
    object,
    pointer_default(unique),
    uuid(3051083b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDOMEventRegistrationCallback : IUnknown
{
    HRESULT OnDOMEventListenerAdded([in] LPCWSTR pszEventType,[in] IScriptEventHandler* pHandler);
    HRESULT OnDOMEventListenerRemoved([in] ULONGLONG ullCookie);
};
[
    object,
    pointer_default(unique),
    uuid(30510839-98b5-11cf-bb82-00aa00bdce0b)
]
interface IEventTarget2 : IUnknown
{
    HRESULT GetRegisteredEventTypes([retval, out] SAFEARRAY** ppEventTypeArray);
    HRESULT GetListenersForType([in] LPCWSTR pszEventType,[retval, out] SAFEARRAY** ppEventHandlerArray);
    HRESULT RegisterForDOMEventListeners([in] IDOMEventRegistrationCallback* pCallback);
    HRESULT UnregisterForDOMEventListeners([in] IDOMEventRegistrationCallback* pCallback);
};
[
    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();
};
//
// New IE9 ActiveX interfaces, both for screen and print
//

typedef enum _VIEW_OBJECT_ALPHA_MODE
{
    VIEW_OBJECT_ALPHA_MODE_IGNORE = 0,
    VIEW_OBJECT_ALPHA_MODE_PREMULTIPLIED = 1,
    VIEW_OBJECT_ALPHA_MODE_Max = 2147483647L
} VIEW_OBJECT_ALPHA_MODE;

typedef enum _VIEW_OBJECT_COMPOSITION_MODE
{
    VIEW_OBJECT_COMPOSITION_MODE_LEGACY = 0,
    VIEW_OBJECT_COMPOSITION_MODE_SURFACEPRESENTER = 1,
    VIEW_OBJECT_COMPOSITION_MODE_Max = 2147483647L
} VIEW_OBJECT_COMPOSITION_MODE;

interface ISurfacePresenter;

[
    object,
    pointer_default(unique),
    uuid(305106e1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IViewObjectPresentSite : IUnknown
{
    [] HRESULT CreateSurfacePresenter([in] IUnknown* pDevice,[in] UINT width,[in] UINT height,[in] UINT backBufferCount,[in] DXGI_FORMAT format,[in] VIEW_OBJECT_ALPHA_MODE mode,[retval, out] ISurfacePresenter** ppQueue);
    [] HRESULT IsHardwareComposition([retval, out] BOOL* pIsHardwareComposition);
    [] HRESULT SetCompositionMode([in] VIEW_OBJECT_COMPOSITION_MODE mode);
};
[
    object,
    pointer_default(unique),
    uuid(305106e2-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISurfacePresenter : IUnknown
{
    [] HRESULT Present([in] UINT uBuffer, [in] RECT* pDirty);
    [] HRESULT GetBuffer([in] UINT backBufferIndex,[in] REFIID riid,[retval, out, iid_is(riid)] void** ppBuffer);
    [] HRESULT IsCurrent([retval, out] BOOL* pIsCurrent);
};

[
    object,
    pointer_default(unique),
    uuid(305107f9-98b5-11cf-bb82-00aa00bdce0b)
]
interface ICanvasPixelArrayData  : IUnknown
{
    [] HRESULT GetBufferPointer([out] BYTE **ppBuffer, [out] ULONG *pBufferLength);
};

[
    object,
    pointer_default(unique),
    uuid(305106e3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IViewObjectPrint : IUnknown
{
    [] HRESULT GetPrintBitmap([retval, out] IUnknown **ppPrintBitmap);
};

[
    object,
    pointer_default(unique),
    uuid(305107fa-98b5-11cf-bb82-00aa00bdce0b)
]
interface IViewObjectPresentNotifySite : IViewObjectPresentSite
{
    [] HRESULT RequestFrame();
};

[
    object,
    pointer_default(unique),
    uuid(305107f8-98b5-11cf-bb82-00aa00bdce0b)
]
interface IViewObjectPresentNotify : IUnknown
{
    [] HRESULT OnPreRender();
};

[
    object,
    pointer_default(unique),
    uuid(30510803-98b5-11cf-bb82-00aa00bdce0b)
]
interface ITrackingProtection : IUnknown
{
    [] HRESULT EvaluateUrl([in] BSTR bstrUrl, [out] BOOL *pfAllowed);
    [] HRESULT GetEnabled([out] BOOL *pfEnabled);
};

[
    object,
    pointer_default(unique),
    uuid(30510861-98b5-11cf-bb82-00aa00bdce0b)
]
interface IBFCacheable : IUnknown
{
    [] HRESULT EnterBFCache();
    [] HRESULT ExitBFCache();
};
}

cpp_quote("#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
 
