with GNATCOM.Dispinterface;

package MSHTML.DispHTMLCommentElement_Object is

   type DispHTMLCommentElement_Type is
     new GNATCOM.Dispinterface.Dispinterface_Type with null record;

   procedure setAttribute
     (This             : DispHTMLCommentElement_Type;
      strAttributeName : GNATCOM.Types.VARIANT;
      AttributeValue   : GNATCOM.Types.VARIANT;
      lFlags           : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free             : Boolean := True);

   function getAttribute
     (This             : DispHTMLCommentElement_Type;
      strAttributeName : GNATCOM.Types.VARIANT;
      lFlags           : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function removeAttribute
     (This             : DispHTMLCommentElement_Type;
      strAttributeName : GNATCOM.Types.VARIANT;
      lFlags           : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure Put_className
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_className
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_id
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_id
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_tagName
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_parentElement
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_style
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onhelp
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onhelp
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onclick
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onclick
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondblclick
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondblclick
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onkeydown
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onkeydown
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onkeyup
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onkeyup
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onkeypress
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onkeypress
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmouseout
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmouseout
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmouseover
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmouseover
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmousemove
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmousemove
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmousedown
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmousedown
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmouseup
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmouseup
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_document
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_title
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_title
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_language
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_language
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onselectstart
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onselectstart
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure scrollIntoView
     (This        : DispHTMLCommentElement_Type;
      varargStart : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free        : Boolean := True);

   function contains
     (This   : DispHTMLCommentElement_Type;
      pChild : GNATCOM.Types.VARIANT;
      Free   : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_sourceIndex
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_recordNumber
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_lang
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_lang
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_offsetLeft
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_offsetTop
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_offsetWidth
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_offsetHeight
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_offsetParent
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_innerHTML
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_innerHTML
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_innerText
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_innerText
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_outerHTML
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_outerHTML
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_outerText
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_outerText
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure insertAdjacentHTML
     (This  : DispHTMLCommentElement_Type;
      where : GNATCOM.Types.VARIANT;
      html  : GNATCOM.Types.VARIANT;
      Free  : Boolean := True);

   procedure insertAdjacentText
     (This  : DispHTMLCommentElement_Type;
      where : GNATCOM.Types.VARIANT;
      text  : GNATCOM.Types.VARIANT;
      Free  : Boolean := True);

   function Get_parentTextEdit
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_isTextEdit
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure click
     (This : DispHTMLCommentElement_Type);

   function Get_filters
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondragstart
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondragstart
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function toString
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforeupdate
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforeupdate
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onafterupdate
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onafterupdate
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onerrorupdate
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onerrorupdate
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onrowexit
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onrowexit
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onrowenter
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onrowenter
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondatasetchanged
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondatasetchanged
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondataavailable
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondataavailable
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondatasetcomplete
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondatasetcomplete
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onfilterchange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onfilterchange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_children
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_all
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_scopeName
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure setCapture
     (This             : DispHTMLCommentElement_Type;
      containerCapture : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free             : Boolean := True);

   procedure releaseCapture
     (This : DispHTMLCommentElement_Type);

   procedure Put_onlosecapture
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onlosecapture
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function componentFromPoint
     (This : DispHTMLCommentElement_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure doScroll
     (This      : DispHTMLCommentElement_Type;
      component : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free      : Boolean := True);

   procedure Put_onscroll
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onscroll
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondrag
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondrag
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondragend
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondragend
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondragenter
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondragenter
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondragover
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondragover
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondragleave
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondragleave
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondrop
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondrop
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforecut
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforecut
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncut
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncut
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforecopy
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforecopy
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncopy
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncopy
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforepaste
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforepaste
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onpaste
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onpaste
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_currentStyle
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onpropertychange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onpropertychange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function getClientRects
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function getBoundingClientRect
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure setExpression
     (This       : DispHTMLCommentElement_Type;
      propname   : GNATCOM.Types.VARIANT;
      expression : GNATCOM.Types.VARIANT;
      language   : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free       : Boolean := True);

   function getExpression
     (This     : DispHTMLCommentElement_Type;
      propname : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function removeExpression
     (This     : DispHTMLCommentElement_Type;
      propname : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure Put_tabIndex
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_tabIndex
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure focus
     (This : DispHTMLCommentElement_Type);

   procedure Put_accessKey
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_accessKey
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onblur
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onblur
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onfocus
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onfocus
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onresize
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onresize
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure blur
     (This : DispHTMLCommentElement_Type);

   procedure addFilter
     (This : DispHTMLCommentElement_Type;
      pUnk : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   procedure removeFilter
     (This : DispHTMLCommentElement_Type;
      pUnk : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_clientHeight
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_clientWidth
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_clientTop
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_clientLeft
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function attachEvent
     (This  : DispHTMLCommentElement_Type;
      event : GNATCOM.Types.VARIANT;
      pdisp : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure detachEvent
     (This  : DispHTMLCommentElement_Type;
      event : GNATCOM.Types.VARIANT;
      pdisp : GNATCOM.Types.VARIANT;
      Free  : Boolean := True);

   function Get_readyState
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onreadystatechange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onreadystatechange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onrowsdelete
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onrowsdelete
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onrowsinserted
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onrowsinserted
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncellchange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncellchange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_dir
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_dir
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function createControlRange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_scrollHeight
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_scrollWidth
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_scrollTop
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_scrollTop
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_scrollLeft
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_scrollLeft
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure clearAttributes
     (This : DispHTMLCommentElement_Type);

   procedure Put_oncontextmenu
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncontextmenu
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function insertAdjacentElement
     (This            : DispHTMLCommentElement_Type;
      where           : GNATCOM.Types.VARIANT;
      insertedElement : GNATCOM.Types.VARIANT;
      Free            : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function applyElement
     (This  : DispHTMLCommentElement_Type;
      apply : GNATCOM.Types.VARIANT;
      where : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function getAdjacentText
     (This  : DispHTMLCommentElement_Type;
      where : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function replaceAdjacentText
     (This    : DispHTMLCommentElement_Type;
      where   : GNATCOM.Types.VARIANT;
      newText : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_canHaveChildren
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function addBehavior
     (This        : DispHTMLCommentElement_Type;
      bstrURL     : GNATCOM.Types.VARIANT;
      pvarFactory : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free        : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function removeBehavior
     (This   : DispHTMLCommentElement_Type;
      cookie : GNATCOM.Types.VARIANT;
      Free   : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_runtimeStyle
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_behaviorUrns
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_tagUrn
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_tagUrn
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforeeditfocus
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforeeditfocus
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_readyStateValue
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function getElementsByTagName
     (This : DispHTMLCommentElement_Type;
      v    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure mergeAttributes
     (This      : DispHTMLCommentElement_Type;
      mergeThis : GNATCOM.Types.VARIANT;
      pvarFlags : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free      : Boolean := True);

   function Get_isMultiLine
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_canHaveHTML
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onlayoutcomplete
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onlayoutcomplete
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onpage
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onpage
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_inflateBlock
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_inflateBlock
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforedeactivate
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforedeactivate
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure setActive
     (This : DispHTMLCommentElement_Type);

   procedure Put_contentEditable
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_contentEditable
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_isContentEditable
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_hideFocus
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_hideFocus
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_disabled
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_disabled
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_isDisabled
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmove
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmove
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncontrolselect
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncontrolselect
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function FireEvent
     (This            : DispHTMLCommentElement_Type;
      bstrEventName   : GNATCOM.Types.VARIANT;
      pvarEventObject : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free            : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure Put_onresizestart
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onresizestart
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onresizeend
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onresizeend
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmovestart
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmovestart
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmoveend
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmoveend
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmouseenter
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmouseenter
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmouseleave
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmouseleave
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onactivate
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onactivate
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondeactivate
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondeactivate
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function dragDrop
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_glyphMode
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmousewheel
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmousewheel
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure normalize
     (This : DispHTMLCommentElement_Type);

   function getAttributeNode
     (This     : DispHTMLCommentElement_Type;
      bstrName : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function setAttributeNode
     (This  : DispHTMLCommentElement_Type;
      pattr : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function removeAttributeNode
     (This  : DispHTMLCommentElement_Type;
      pattr : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforeactivate
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforeactivate
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onfocusin
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onfocusin
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onfocusout
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onfocusout
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_uniqueNumber
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_uniqueID
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_nodeType
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_parentNode
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function hasChildNodes
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_childNodes
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_attributes
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function insertBefore
     (This     : DispHTMLCommentElement_Type;
      newChild : GNATCOM.Types.VARIANT;
      refChild : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function removeChild
     (This     : DispHTMLCommentElement_Type;
      oldChild : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function replaceChild
     (This     : DispHTMLCommentElement_Type;
      newChild : GNATCOM.Types.VARIANT;
      oldChild : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function cloneNode
     (This  : DispHTMLCommentElement_Type;
      fDeep : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function removeNode
     (This  : DispHTMLCommentElement_Type;
      fDeep : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function swapNode
     (This      : DispHTMLCommentElement_Type;
      otherNode : GNATCOM.Types.VARIANT;
      Free      : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function replaceNode
     (This        : DispHTMLCommentElement_Type;
      replacement : GNATCOM.Types.VARIANT;
      Free        : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function appendChild
     (This     : DispHTMLCommentElement_Type;
      newChild : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_nodeName
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_nodeValue
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_nodeValue
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_firstChild
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_lastChild
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_previousSibling
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_nextSibling
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_ownerDocument
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function ie8_getAttributeNode
     (This     : DispHTMLCommentElement_Type;
      bstrName : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function ie8_setAttributeNode
     (This  : DispHTMLCommentElement_Type;
      pattr : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function ie8_removeAttributeNode
     (This  : DispHTMLCommentElement_Type;
      pattr : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function hasAttribute
     (This : DispHTMLCommentElement_Type;
      name : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure Put_role
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_role
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaBusy
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaBusy
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaChecked
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaChecked
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaDisabled
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaDisabled
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaExpanded
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaExpanded
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaHaspopup
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaHaspopup
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaHidden
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaHidden
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaInvalid
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaInvalid
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaMultiselectable
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaMultiselectable
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaPressed
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaPressed
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaReadonly
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaReadonly
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaRequired
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaRequired
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaSecret
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaSecret
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaSelected
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaSelected
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function ie8_getAttribute
     (This             : DispHTMLCommentElement_Type;
      strAttributeName : GNATCOM.Types.VARIANT;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure ie8_setAttribute
     (This             : DispHTMLCommentElement_Type;
      strAttributeName : GNATCOM.Types.VARIANT;
      AttributeValue   : GNATCOM.Types.VARIANT;
      Free             : Boolean := True);

   function ie8_removeAttribute
     (This             : DispHTMLCommentElement_Type;
      strAttributeName : GNATCOM.Types.VARIANT;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_ie8_attributes
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaValuenow
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaValuenow
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaPosinset
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaPosinset
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaSetsize
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaSetsize
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaLevel
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaLevel
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaValuemin
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaValuemin
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaValuemax
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaValuemax
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaControls
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaControls
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaDescribedby
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaDescribedby
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaFlowto
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaFlowto
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaLabelledby
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaLabelledby
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaActivedescendant
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaActivedescendant
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaOwns
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaOwns
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function hasAttributes
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaLive
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaLive
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ariaRelevant
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ariaRelevant
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function getAttributeNS
     (This             : DispHTMLCommentElement_Type;
      pvarNS           : GNATCOM.Types.VARIANT;
      strAttributeName : GNATCOM.Types.VARIANT;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure setAttributeNS
     (This               : DispHTMLCommentElement_Type;
      pvarNS             : GNATCOM.Types.VARIANT;
      strAttributeName   : GNATCOM.Types.VARIANT;
      pvarAttributeValue : GNATCOM.Types.VARIANT;
      Free               : Boolean := True);

   procedure removeAttributeNS
     (This             : DispHTMLCommentElement_Type;
      pvarNS           : GNATCOM.Types.VARIANT;
      strAttributeName : GNATCOM.Types.VARIANT;
      Free             : Boolean := True);

   function getAttributeNodeNS
     (This     : DispHTMLCommentElement_Type;
      pvarNS   : GNATCOM.Types.VARIANT;
      bstrName : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function setAttributeNodeNS
     (This  : DispHTMLCommentElement_Type;
      pattr : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function hasAttributeNS
     (This   : DispHTMLCommentElement_Type;
      pvarNS : GNATCOM.Types.VARIANT;
      name   : GNATCOM.Types.VARIANT;
      Free   : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function ie9_getAttribute
     (This             : DispHTMLCommentElement_Type;
      strAttributeName : GNATCOM.Types.VARIANT;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure ie9_setAttribute
     (This               : DispHTMLCommentElement_Type;
      strAttributeName   : GNATCOM.Types.VARIANT;
      pvarAttributeValue : GNATCOM.Types.VARIANT;
      Free               : Boolean := True);

   procedure ie9_removeAttribute
     (This             : DispHTMLCommentElement_Type;
      strAttributeName : GNATCOM.Types.VARIANT;
      Free             : Boolean := True);

   function ie9_getAttributeNode
     (This             : DispHTMLCommentElement_Type;
      strAttributeName : GNATCOM.Types.VARIANT;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function ie9_setAttributeNode
     (This  : DispHTMLCommentElement_Type;
      pattr : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function ie9_removeAttributeNode
     (This  : DispHTMLCommentElement_Type;
      pattr : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function ie9_hasAttribute
     (This : DispHTMLCommentElement_Type;
      name : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function getElementsByTagNameNS
     (This          : DispHTMLCommentElement_Type;
      varNS         : GNATCOM.Types.VARIANT;
      bstrLocalName : GNATCOM.Types.VARIANT;
      Free          : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_ie9_tagName
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_ie9_nodeName
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function getElementsByClassName
     (This : DispHTMLCommentElement_Type;
      v    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function msMatchesSelector
     (This : DispHTMLCommentElement_Type;
      v    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure Put_onabort
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onabort
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncanplay
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncanplay
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncanplaythrough
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncanplaythrough
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onchange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onchange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondurationchange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondurationchange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onemptied
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onemptied
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onended
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onended
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onerror
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onerror
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oninput
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oninput
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onload
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onload
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onloadeddata
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onloadeddata
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onloadedmetadata
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onloadedmetadata
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onloadstart
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onloadstart
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onpause
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onpause
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onplay
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onplay
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onplaying
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onplaying
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onprogress
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onprogress
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onratechange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onratechange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onreset
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onreset
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onseeked
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onseeked
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onseeking
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onseeking
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onselect
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onselect
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onstalled
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onstalled
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onsubmit
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onsubmit
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onsuspend
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onsuspend
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ontimeupdate
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ontimeupdate
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onvolumechange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onvolumechange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onwaiting
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onwaiting
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function ie9_hasAttributes
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_constructor
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmspointerdown
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmspointerdown
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmspointermove
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmspointermove
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmspointerup
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmspointerup
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmspointerover
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmspointerover
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmspointerout
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmspointerout
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmspointercancel
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmspointercancel
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmspointerhover
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmspointerhover
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmslostpointercapture
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmslostpointercapture
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsgotpointercapture
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsgotpointercapture
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsgesturestart
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsgesturestart
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsgesturechange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsgesturechange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsgestureend
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsgestureend
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsgesturehold
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsgesturehold
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsgesturetap
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsgesturetap
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsgesturedoubletap
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsgesturedoubletap
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsinertiastart
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsinertiastart
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure msSetPointerCapture
     (This      : DispHTMLCommentElement_Type;
      pointerId : GNATCOM.Types.VARIANT;
      Free      : Boolean := True);

   procedure msReleasePointerCapture
     (This      : DispHTMLCommentElement_Type;
      pointerId : GNATCOM.Types.VARIANT;
      Free      : Boolean := True);

   procedure Put_onmstransitionstart
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmstransitionstart
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmstransitionend
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmstransitionend
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsanimationstart
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsanimationstart
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsanimationend
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsanimationend
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsanimationiteration
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsanimationiteration
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oninvalid
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oninvalid
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_xmsAcceleratorKey
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_xmsAcceleratorKey
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_spellcheck
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_spellcheck
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onmsmanipulationstatechanged
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onmsmanipulationstatechanged
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncuechange
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncuechange
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_text
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_text
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_atomic
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_atomic
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_data
     (This : DispHTMLCommentElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_data
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_length
     (This : DispHTMLCommentElement_Type)
     return GNATCOM.Types.VARIANT;

   function substringData
     (This   : DispHTMLCommentElement_Type;
      offset : GNATCOM.Types.VARIANT;
      Count  : GNATCOM.Types.VARIANT;
      Free   : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure appendData
     (This       : DispHTMLCommentElement_Type;
      bstrstring : GNATCOM.Types.VARIANT;
      Free       : Boolean := True);

   procedure insertData
     (This       : DispHTMLCommentElement_Type;
      offset     : GNATCOM.Types.VARIANT;
      bstrstring : GNATCOM.Types.VARIANT;
      Free       : Boolean := True);

   procedure deleteData
     (This   : DispHTMLCommentElement_Type;
      offset : GNATCOM.Types.VARIANT;
      Count  : GNATCOM.Types.VARIANT;
      Free   : Boolean := True);

   procedure replaceData
     (This       : DispHTMLCommentElement_Type;
      offset     : GNATCOM.Types.VARIANT;
      Count      : GNATCOM.Types.VARIANT;
      bstrstring : GNATCOM.Types.VARIANT;
      Free       : Boolean := True);

   function ie9_substringData
     (This   : DispHTMLCommentElement_Type;
      offset : GNATCOM.Types.VARIANT;
      Count  : GNATCOM.Types.VARIANT;
      Free   : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure ie9_insertData
     (This       : DispHTMLCommentElement_Type;
      offset     : GNATCOM.Types.VARIANT;
      bstrstring : GNATCOM.Types.VARIANT;
      Free       : Boolean := True);

   procedure ie9_deleteData
     (This   : DispHTMLCommentElement_Type;
      offset : GNATCOM.Types.VARIANT;
      Count  : GNATCOM.Types.VARIANT;
      Free   : Boolean := True);

   procedure ie9_replaceData
     (This       : DispHTMLCommentElement_Type;
      offset     : GNATCOM.Types.VARIANT;
      Count      : GNATCOM.Types.VARIANT;
      bstrstring : GNATCOM.Types.VARIANT;
      Free       : Boolean := True);

end MSHTML.DispHTMLCommentElement_Object;

